From 9b4b92753e4a39fa084b5e6e56cf4093b7aaafce Mon Sep 17 00:00:00 2001 From: asb2m10 Date: Thu, 26 Dec 2013 18:29:20 -0500 Subject: [PATCH] DX Look And Feel and Sysex midiout --- Builds/MacOSX/Dexed.xcodeproj/project.pbxproj | 2 + .../UserInterfaceState.xcuserstate | Bin 60528 -> 66292 bytes .../xcschemes/xcschememanagement.plist | 5 + Builds/VisualStudio2012/Dexed.sln | 38 +- Builds/VisualStudio2012/Dexed.vcxproj | 3078 +++++----- Builds/VisualStudio2012/Dexed.vcxproj.filters | 5290 ++++++++--------- Builds/VisualStudio2012/resources.rc | 60 +- Dexed.jucer | 1 + JuceLibraryCode/BinaryData.cpp | 181 +- JuceLibraryCode/BinaryData.h | 3 + Source/DXLookNFeel.cpp | 42 +- Source/DXLookNFeel.h | 16 + Source/GlobalEditor.cpp | 71 +- Source/GlobalEditor.h | 5 + Source/OperatorEditor.cpp | 285 +- Source/OperatorEditor.h | 14 +- Source/PluginEditor.cpp | 156 +- Source/PluginEditor.h | 17 +- Source/PluginParam.cpp | 131 +- Source/PluginParam.h | 31 +- Source/PluginProcessor.cpp | 39 +- Source/PluginProcessor.h | 62 +- 22 files changed, 5050 insertions(+), 4477 deletions(-) diff --git a/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj b/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj index 4059b81..82b1763 100644 --- a/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj @@ -142,6 +142,7 @@ 1D31136D1C9D959792023095 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../JuceLibraryCode/modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D798858682A27299589F4E5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D95A78059DCCC7B58782F07 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../JuceLibraryCode/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 1DC9D8AC8B4311052BC86115 = { isa = PBXFileReference; lastKnownFileType = image.png; name = background.png; path = ../../Resources/background.png; sourceTree = "SOURCE_ROOT"; }; 1E1A0627C2977D5FCB8440CC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 1EB6398B6F537A4302092240 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 1F51658DEF590741920719FF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../JuceLibraryCode/modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -850,6 +851,7 @@ FF5B77AA3517B4637F862BD3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; FF6607118B29435E76806DFA = { isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Dexed.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; F472964B0FFEE5615B72CE3D = { isa = PBXGroup; children = ( + 1DC9D8AC8B4311052BC86115, E93431088B4E40AC9A48D817 ); name = Resources; sourceTree = ""; }; BDC5059F1563FD8DD69AD324 = { isa = PBXGroup; children = ( 3715DFDD7A1B12083F051F5A, diff --git a/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate b/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate index 3c2cd789de948c83b440b5f4d348192f5a85e233..5b570fd5d4d168b14a3f731762e8cf989dcf4668 100644 GIT binary patch literal 66292 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 BzghqQ diff --git a/Builds/MacOSX/Dexed.xcodeproj/xcuserdata/asb2m10.xcuserdatad/xcschemes/xcschememanagement.plist b/Builds/MacOSX/Dexed.xcodeproj/xcuserdata/asb2m10.xcuserdatad/xcschemes/xcschememanagement.plist index 9df9aa8..48cbf70 100644 --- a/Builds/MacOSX/Dexed.xcodeproj/xcuserdata/asb2m10.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Builds/MacOSX/Dexed.xcodeproj/xcuserdata/asb2m10.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,6 +9,11 @@ orderHint 0 + Release.xcscheme + + orderHint + 1 + SuppressBuildableAutocreation diff --git a/Builds/VisualStudio2012/Dexed.sln b/Builds/VisualStudio2012/Dexed.sln index 428e5fb..6b5dd1b 100644 --- a/Builds/VisualStudio2012/Dexed.sln +++ b/Builds/VisualStudio2012/Dexed.sln @@ -1,19 +1,19 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2012 -Project("{BD26B4C3-163D-4785-A63F-D3E66858BFF3}") = "Dexed", "Dexed.vcxproj", "{1A9EF105-5BF5-9FB6-9634-A91A6D840866}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Debug|Win32.ActiveCfg = Debug|Win32 - {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Debug|Win32.Build.0 = Debug|Win32 - {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Release|Win32.ActiveCfg = Release|Win32 - {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2012 +Project("{BD26B4C3-163D-4785-A63F-D3E66858BFF3}") = "Dexed", "Dexed.vcxproj", "{1A9EF105-5BF5-9FB6-9634-A91A6D840866}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Debug|Win32.ActiveCfg = Debug|Win32 + {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Debug|Win32.Build.0 = Debug|Win32 + {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Release|Win32.ActiveCfg = Release|Win32 + {1A9EF105-5BF5-9FB6-9634-A91A6D840866}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Builds/VisualStudio2012/Dexed.vcxproj b/Builds/VisualStudio2012/Dexed.vcxproj index 1d064a6..cd99dff 100644 --- a/Builds/VisualStudio2012/Dexed.vcxproj +++ b/Builds/VisualStudio2012/Dexed.vcxproj @@ -1,1540 +1,1538 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {1A9EF105-5BF5-9FB6-9634-A91A6D840866} - v110 - - - - DynamicLibrary - false - MultiByte - v110 - - - DynamicLibrary - false - MultiByte - true - v110 - - - - - - - - v110 - - - <_ProjectFileVersion>10.0.30319.1 - .\Debug\ - Dexed - true - .\Release\ - Dexed - true - v110 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;C:\work\vstsdk2.4;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2012_78A501F=1;%(PreprocessorDefinitions) - MultiThreadedDebug - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\Dexed.dll - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\Dexed.pdb - Windows - MachineX86 - false - true - - - true - $(IntDir)\Dexed.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - MinSpace - ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;C:\work\vstsdk2.4;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;JUCER_VS2012_78A501F=1;%(PreprocessorDefinitions) - MultiThreaded - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\Dexed.dll - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\Dexed.pdb - Windows - MachineX86 - true - true - true - - - true - $(IntDir)\Dexed.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 - - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + Debug + Win32 + + + Release + Win32 + + + + {1A9EF105-5BF5-9FB6-9634-A91A6D840866} + v110 + + + + DynamicLibrary + false + MultiByte + v110 + + + DynamicLibrary + false + MultiByte + true + v110 + + + + + + + + v110 + + + <_ProjectFileVersion>10.0.30319.1 + .\Debug\ + Dexed + true + .\Release\ + Dexed + true + v110 + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + EditAndContinue + ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;C:\work\vstsdk2.4;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2012_78A501F=1;%(PreprocessorDefinitions) + MultiThreadedDebug + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Dexed.dll + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\Dexed.pdb + Windows + MachineX86 + false + true + + + true + $(IntDir)\Dexed.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + MinSpace + ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;C:\work\vstsdk2.4;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;NDEBUG;JUCER_VS2012_78A501F=1;%(PreprocessorDefinitions) + MultiThreaded + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Dexed.dll + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\Dexed.pdb + Windows + MachineX86 + true + true + true + + + true + $(IntDir)\Dexed.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 + + + + + + + + + + + + + + + + + StdCall + + + StdCall + + + StdCall + + + StdCall + + + StdCall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Builds/VisualStudio2012/Dexed.vcxproj.filters b/Builds/VisualStudio2012/Dexed.vcxproj.filters index 9f9bdac..8a6e036 100644 --- a/Builds/VisualStudio2012/Dexed.vcxproj.filters +++ b/Builds/VisualStudio2012/Dexed.vcxproj.filters @@ -1,2648 +1,2642 @@ - - - - - - {B90C76C9-07F8-4447-4E85-533FEBF85EB8} - - - {A4A2BA4F-D40D-22B2-5C99-2C2FE535C844} - - - {C5AF6998-922C-E781-8C7B-4ACFAA05FAAF} - - - {9DB0CF5F-F6E7-E40E-5CE4-E122873AC45A} - - - {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} - - - {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} - - - {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} - - - - - Dexed\Source - - - Dexed\Source - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source - - - Dexed\Source - - - Dexed\Source - - - Dexed\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\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_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\VST - - - Juce Modules\juce_audio_plugin_client\VST - - - Juce Modules\juce_audio_plugin_client\AAX - - - Juce Modules\juce_audio_plugin_client\AAX - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\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_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\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\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_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\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\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\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\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 - - - - - Dexed\Source - - - Dexed\Source - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source\msfa - - - Dexed\Source - - - Dexed\Source - - - Dexed\Source - - - Dexed\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\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_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 - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\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\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - 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\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\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\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - 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\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\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\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\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\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\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\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\native - - - Juce Modules\juce_gui_extra - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - - - Dexed\Resources - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Library Code - - - - - Juce Library Code - - - + + + + + + {B90C76C9-07F8-4447-4E85-533FEBF85EB8} + + + {A4A2BA4F-D40D-22B2-5C99-2C2FE535C844} + + + {C5AF6998-922C-E781-8C7B-4ACFAA05FAAF} + + + {9DB0CF5F-F6E7-E40E-5CE4-E122873AC45A} + + + {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} + + + {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} + + + {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} + + + + + Dexed\Source + + + Dexed\Source + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source + + + Dexed\Source + + + Dexed\Source + + + Dexed\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\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_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\VST + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\AAX + + + Juce Modules\juce_audio_plugin_client\utility + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\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_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\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\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_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\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\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\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\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 + + + + + Dexed\Source + + + Dexed\Source + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source\msfa + + + Dexed\Source + + + Dexed\Source + + + Dexed\Source + + + Dexed\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\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_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 + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\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\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + 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\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\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\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + 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\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\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\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\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\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\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\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\native + + + Juce Modules\juce_gui_extra + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + Dexed\Resources + + + Dexed\Resources + + + Juce Modules\juce_audio_basics + + + 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/Builds/VisualStudio2012/resources.rc b/Builds/VisualStudio2012/resources.rc index f1ce455..52f8d75 100644 --- a/Builds/VisualStudio2012/resources.rc +++ b/Builds/VisualStudio2012/resources.rc @@ -1,30 +1,30 @@ -#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", "Digital Suburban\0" - VALUE "FileDescription", "Dexed\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "Dexed\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 65001 - END -END - -#endif +#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", "Digital Suburban\0" + VALUE "FileDescription", "Dexed\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "Dexed\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 65001 + END +END + +#endif diff --git a/Dexed.jucer b/Dexed.jucer index 33a3a0f..d958335 100644 --- a/Dexed.jucer +++ b/Dexed.jucer @@ -11,6 +11,7 @@ jucerVersion="3.1.0" companyName="Digital Suburban"> + diff --git a/JuceLibraryCode/BinaryData.cpp b/JuceLibraryCode/BinaryData.cpp index b637d71..3f08cb3 100644 --- a/JuceLibraryCode/BinaryData.cpp +++ b/JuceLibraryCode/BinaryData.cpp @@ -7,8 +7,181 @@ namespace BinaryData { -//================== startup.syx ================== +//================== background.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,3,97,0,0,1,164,8,6,0,0,1,207,177,29,135,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,127,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,7,116,73,77,69,7,221,12,23,5,36,39,56,99,177,80,0, +0,32,0,73,68,65,84,120,218,237,221,73,150,235,184,181,40,80,29,45,76,194,109,55,236,33,120,48,30,119,54,179,237,55,10,188,70,102,220,43,69,72,98,133,146,220,123,125,255,124,113,37,177,0,8,28,28,22,96,252,247,63,255,202,183,191,197,173,128,56,244,49,43, +202,42,245,222,0,182,151,87,82,81,99,202,107,42,45,10,151,184,10,171,39,221,110,183,219,63,254,249,239,219,237,22,127,21,116,60,20,123,188,170,204,80,49,69,186,160,248,124,176,191,250,78,252,85,75,247,223,255,144,111,249,241,59,145,87,53,225,188,208, +148,121,215,247,229,143,101,250,178,96,243,237,150,243,175,238,49,254,250,194,99,165,229,248,245,207,79,117,158,243,83,107,91,211,7,107,88,107,42,238,185,91,251,171,58,242,223,95,137,167,198,148,94,45,43,94,252,145,191,87,220,215,95,250,200,67,131,138, +120,106,70,207,149,151,191,45,33,254,110,76,247,219,183,30,49,222,172,241,109,219,210,71,22,174,208,252,92,166,249,231,231,233,91,99,124,174,249,111,127,189,60,58,30,255,37,27,161,20,171,184,95,197,248,179,180,211,83,41,63,133,182,88,92,73,188,91,109, +86,115,37,242,163,231,184,246,56,228,143,15,95,126,25,208,214,246,213,250,203,213,181,245,161,135,122,85,244,233,221,55,214,86,220,158,224,171,154,62,245,80,175,191,245,56,96,79,159,170,246,231,112,95,204,170,57,146,252,93,180,63,71,16,249,161,236,211, +250,213,196,199,127,162,81,53,231,219,45,197,251,8,248,240,103,124,72,16,215,5,85,182,85,209,226,89,254,167,58,138,229,250,14,193,172,248,72,113,75,229,165,245,139,208,132,170,6,181,88,191,128,244,163,90,222,214,79,254,112,20,168,208,178,149,153,63,14, +218,211,145,134,245,242,220,24,197,43,241,123,227,188,191,109,175,98,211,176,210,199,22,178,113,104,175,158,171,140,73,126,184,171,141,113,19,237,143,45,77,174,53,70,197,197,202,42,77,117,134,165,236,235,30,243,170,239,167,38,237,89,229,191,44,204,189, +103,3,211,251,17,126,110,211,39,176,178,242,242,175,122,74,251,154,131,82,239,58,228,207,139,1,81,69,181,108,113,107,186,202,116,187,221,110,255,247,231,31,69,130,144,80,213,102,228,114,95,215,134,220,110,53,84,247,184,185,46,226,120,243,230,216,136, +37,237,250,213,135,26,85,113,45,90,90,185,20,254,215,135,125,43,46,30,182,224,156,93,250,189,214,216,176,95,113,229,211,143,118,211,161,152,180,144,21,174,187,135,157,221,45,173,117,179,242,8,64,193,152,182,251,238,184,3,129,236,172,21,23,173,42,173, +73,74,127,173,17,122,241,74,76,213,183,84,16,27,188,165,93,177,15,236,208,71,38,199,109,187,131,245,241,153,246,168,81,105,110,215,31,183,227,73,75,213,35,215,170,92,83,113,168,165,105,91,179,52,185,244,115,148,190,190,109,101,173,174,75,237,165,109, +233,213,251,246,45,69,107,55,148,94,119,61,109,229,179,77,90,94,227,60,237,99,68,219,81,27,91,142,37,21,124,112,200,223,163,155,171,153,119,199,21,42,109,177,226,38,27,100,158,241,68,204,93,105,76,217,210,242,226,112,254,109,151,35,181,235,34,90,78,60, +173,110,143,23,99,234,185,114,14,12,64,66,69,77,49,112,170,246,32,161,202,170,212,194,254,154,100,250,175,34,126,158,213,54,94,204,114,27,38,80,45,118,36,47,77,52,253,226,243,120,154,100,250,231,47,127,52,203,120,62,61,229,238,169,157,125,221,194,36, +211,207,223,123,254,240,105,50,206,167,137,56,243,237,231,188,211,95,43,50,193,244,241,240,240,97,130,233,175,251,177,127,77,186,243,171,91,123,156,92,250,169,130,62,77,126,43,7,43,121,174,97,237,228,210,95,149,119,255,254,227,88,181,166,172,95,172,89, +153,47,202,52,191,26,37,174,153,84,250,227,52,211,90,94,129,74,251,54,29,85,126,110,113,233,253,176,239,245,76,89,171,78,102,153,80,250,112,144,203,143,35,139,252,42,15,203,183,215,111,177,216,209,47,223,110,38,147,222,84,75,11,147,117,199,98,226,252, +125,41,59,186,58,213,181,212,144,242,135,2,123,63,145,116,250,92,71,223,38,181,21,163,170,141,22,151,198,7,95,147,72,223,63,215,244,227,252,48,154,79,159,10,125,30,138,167,183,19,67,127,78,251,60,44,81,177,210,214,79,28,125,116,210,104,173,239,182,231, +216,95,51,216,120,61,232,120,89,189,207,63,119,111,98,245,83,30,31,23,144,214,183,73,19,70,183,171,204,252,242,253,129,79,45,236,221,11,234,214,173,195,100,209,181,42,240,197,68,209,204,36,149,188,23,209,120,163,248,248,227,135,251,170,90,80,19,205,147, +232,143,195,122,185,84,255,74,91,123,73,120,253,196,208,42,177,114,183,88,122,82,232,92,113,171,243,228,127,239,108,91,91,114,218,95,115,11,231,141,77,178,122,103,62,251,223,59,119,63,86,126,115,199,100,208,70,32,93,135,245,235,107,90,69,181,232,104, +98,161,11,77,255,251,243,143,21,205,177,196,55,40,49,66,185,175,175,255,44,105,30,162,75,44,248,128,178,51,249,245,251,204,109,83,66,228,188,240,69,19,63,55,27,116,148,137,142,121,176,150,118,190,137,159,239,149,91,240,32,99,175,147,14,235,75,78,244, +252,169,184,116,153,133,90,88,110,116,16,187,29,191,96,12,219,21,127,76,240,220,172,39,41,247,80,186,155,76,23,15,198,24,170,194,62,53,25,149,56,96,11,187,106,191,183,178,79,172,58,125,186,228,183,252,129,250,244,228,107,141,22,38,36,141,217,225,152, +204,185,119,77,197,238,22,166,77,205,208,220,138,76,226,172,138,219,213,218,193,215,52,134,138,107,60,100,78,95,207,60,199,174,148,61,191,253,75,229,85,206,195,86,77,220,92,225,182,109,21,91,51,113,174,144,160,153,176,249,96,133,45,214,201,68,89,245, +101,38,107,206,87,44,137,121,90,216,235,38,179,120,241,209,208,176,139,167,73,154,135,236,255,163,202,87,161,217,184,232,84,111,97,204,26,29,3,142,101,211,166,150,58,192,81,171,225,112,138,132,12,40,154,68,223,110,191,95,60,112,251,53,171,226,219,136, +17,27,38,47,138,93,115,198,65,221,177,80,236,250,213,235,191,86,12,253,94,204,21,246,215,123,5,222,79,25,246,251,189,3,139,39,171,158,158,86,58,246,20,188,6,73,177,172,234,229,117,220,88,157,139,197,247,187,227,222,78,101,249,99,94,129,159,243,62,231, +119,173,248,219,7,31,175,61,23,186,55,216,37,3,170,228,243,249,117,51,250,244,163,252,242,31,254,106,52,175,222,47,144,94,52,201,31,127,190,125,141,196,139,112,247,190,193,85,184,55,22,10,118,212,241,246,88,93,78,125,190,190,252,35,48,229,133,83,248, +177,118,203,99,79,160,250,154,138,115,101,43,211,24,105,212,8,223,166,73,159,14,204,120,223,44,210,203,143,22,95,238,145,63,70,162,109,183,234,175,124,72,218,120,145,70,157,241,182,187,55,95,189,52,241,121,57,233,227,251,7,222,182,240,253,111,107,201, +135,27,31,236,105,33,81,188,113,230,239,39,66,222,172,59,173,29,2,62,255,115,254,28,31,43,246,30,176,175,93,44,156,129,59,240,228,200,82,156,73,91,127,153,191,181,170,216,176,31,208,242,68,198,158,37,196,226,130,55,76,19,27,75,141,108,85,132,122,60,155, +82,226,149,87,48,86,195,221,125,14,225,225,171,105,213,101,229,85,121,87,94,189,210,90,9,43,212,104,116,177,171,121,254,118,255,235,227,184,229,87,139,138,111,255,251,208,66,242,183,255,237,218,155,22,255,187,249,239,112,255,157,160,161,29,153,95,50, +125,108,181,235,103,123,254,17,142,134,29,37,58,176,53,180,40,115,8,173,141,112,203,207,177,111,58,107,248,121,174,22,163,67,166,60,99,178,57,139,202,239,35,89,161,166,187,106,111,218,63,9,31,15,61,134,255,142,245,223,119,61,250,210,223,71,91,207,193, +195,120,229,193,155,94,45,225,227,75,187,99,168,237,55,78,60,221,120,177,242,171,249,42,28,82,121,185,145,237,124,155,68,229,48,228,226,52,157,83,175,98,82,177,150,32,201,98,178,212,43,134,106,100,26,16,23,106,132,81,172,25,239,57,241,161,33,114,201, +33,101,62,180,220,84,189,91,24,169,52,215,158,220,242,121,159,207,59,69,179,168,124,16,167,199,69,207,23,140,62,213,226,183,214,149,63,253,247,225,247,62,239,251,121,135,80,85,227,212,194,219,135,54,235,117,44,185,114,67,91,243,247,214,83,200,62,239, +243,121,223,67,239,120,27,248,185,194,244,174,8,98,200,6,5,237,78,136,196,193,99,255,171,193,166,45,77,37,52,34,52,182,77,1,37,127,53,178,255,253,249,71,133,156,44,58,254,26,58,138,23,39,62,128,122,121,96,170,55,250,203,43,66,210,114,32,22,209,152,93, +253,179,139,171,222,182,186,186,83,120,179,125,154,34,147,52,178,106,13,237,123,107,137,210,109,214,201,24,38,106,100,5,219,195,206,232,182,107,216,91,50,79,133,162,250,190,159,44,223,4,33,174,25,201,154,12,31,183,39,94,205,86,63,11,17,248,36,141,172, +208,232,14,157,195,101,59,152,52,245,209,163,213,235,96,38,56,52,210,169,75,250,204,93,120,190,93,186,147,57,109,36,187,120,189,142,215,177,100,197,176,165,21,198,12,141,236,251,206,105,112,156,117,224,19,101,27,217,254,102,227,132,8,211,181,168,40,223, +32,55,70,178,125,3,194,61,27,164,97,114,149,60,62,237,219,138,40,182,175,26,27,103,111,165,105,223,193,94,46,118,153,39,159,179,135,181,244,56,213,240,174,131,59,202,239,80,159,147,43,154,182,177,93,131,225,226,174,168,86,185,69,180,155,242,209,77,148, +52,203,201,14,180,155,78,111,210,60,218,60,196,48,154,55,178,254,67,55,131,18,46,212,200,170,28,201,66,7,23,114,223,122,66,34,151,106,112,194,7,23,17,255,253,207,191,242,176,121,74,116,249,41,20,59,174,210,153,14,78,141,138,209,142,175,187,98,131,122, +222,158,182,159,49,26,56,159,66,171,227,107,119,3,155,225,192,212,120,152,58,130,141,122,84,107,88,204,70,14,6,26,24,76,58,68,252,199,63,255,253,99,32,22,31,199,99,241,245,255,150,7,116,3,205,163,192,133,197,190,163,47,94,254,195,202,101,68,188,201,193, +98,225,44,226,223,31,44,159,105,124,253,13,103,250,104,46,127,59,38,55,78,47,16,175,14,222,165,3,56,239,25,34,198,251,198,242,250,187,121,113,7,30,255,7,245,163,217,246,163,237,249,23,121,83,171,78,239,34,207,203,248,147,191,54,48,22,226,212,99,243,95, +127,85,173,211,211,47,92,54,154,109,27,62,254,62,146,191,63,189,28,111,127,145,126,44,60,127,26,6,190,30,63,126,108,66,133,38,231,16,225,168,210,249,230,23,7,106,108,72,124,242,135,22,16,123,31,91,217,218,200,110,249,118,203,33,20,81,55,40,149,106,132, +11,39,10,86,143,180,242,175,6,150,55,68,177,207,141,236,253,206,228,223,17,208,184,143,65,26,97,44,125,51,175,61,41,146,95,54,139,251,182,141,203,7,123,148,111,9,166,113,31,3,52,188,188,243,104,94,243,139,183,67,196,85,231,38,190,125,103,93,64,90,113, +42,82,100,99,150,49,232,194,177,154,246,173,237,253,112,114,121,157,43,198,136,26,29,157,218,80,108,106,97,177,120,65,56,189,107,56,71,78,254,173,191,30,39,33,99,158,96,245,243,72,205,139,77,50,173,25,193,197,167,40,22,71,123,135,149,205,82,190,198,198, +236,163,102,35,124,106,100,31,206,144,167,109,231,219,99,113,196,184,97,112,185,163,47,17,229,40,122,62,98,247,97,245,114,188,151,119,230,96,207,87,176,163,74,25,68,213,18,132,168,214,158,99,243,73,142,143,23,146,55,95,0,171,48,246,133,130,205,33,31, +59,208,62,133,157,169,94,57,43,126,113,188,195,109,251,98,173,180,181,53,125,184,21,216,75,193,24,166,195,141,35,191,222,49,83,104,190,253,122,4,108,67,4,251,216,142,242,215,163,153,159,55,80,99,99,162,209,78,28,24,191,229,23,199,125,58,182,19,31,26, +153,168,198,185,50,181,219,166,51,219,95,15,92,230,165,182,158,151,27,25,156,177,161,229,2,223,76,45,218,189,72,198,85,7,165,105,213,248,114,245,199,59,239,51,212,240,24,184,217,28,57,52,211,241,219,48,10,93,130,118,227,6,39,108,100,233,237,232,45,142, +181,145,40,181,103,181,196,67,201,61,254,215,231,117,63,143,219,148,47,63,216,123,108,167,42,205,246,54,193,153,250,252,230,191,62,175,251,121,110,208,121,86,62,232,182,52,141,212,175,109,67,243,115,14,141,15,211,252,60,101,64,62,60,68,203,205,71,122, +176,171,241,189,251,95,177,236,229,205,188,136,47,167,165,218,53,37,79,124,220,32,177,142,41,34,223,230,147,235,121,199,16,113,87,62,182,37,110,105,110,140,222,224,242,174,67,53,109,90,81,148,223,238,232,54,136,124,119,90,43,251,188,234,231,21,14,166, +150,201,200,183,1,218,210,158,116,127,133,108,191,203,95,78,243,141,241,249,252,67,201,79,123,114,31,173,131,128,51,185,31,105,185,192,66,14,182,107,56,86,249,198,93,109,152,82,89,118,247,6,118,184,37,56,1,200,248,105,82,183,134,119,175,182,23,48,112, +195,203,211,52,176,214,91,12,19,13,31,211,48,91,2,211,13,31,115,129,6,230,73,100,216,157,15,165,98,203,214,0,57,237,80,49,239,94,102,42,222,184,53,52,166,110,88,185,232,114,239,197,183,60,15,250,191,219,155,191,253,183,223,127,59,15,246,126,158,155,203, +69,150,187,111,136,8,23,204,161,142,74,115,142,236,150,238,206,126,49,9,68,254,118,183,119,126,252,247,135,207,179,207,155,126,254,99,50,143,230,9,86,241,236,230,241,104,76,239,14,209,81,122,128,245,219,226,110,245,185,63,239,31,176,106,188,156,43,109, +91,65,180,217,83,24,100,108,116,116,57,119,69,10,21,115,176,22,97,18,206,31,197,242,186,6,246,234,171,46,109,113,197,70,118,244,216,207,183,13,239,104,254,189,50,17,10,209,108,109,59,72,255,251,243,143,66,81,170,76,156,19,45,153,90,172,24,34,30,207,189, +226,240,82,52,52,206,192,89,68,168,200,173,82,80,58,105,123,106,96,121,41,153,235,147,76,25,42,34,130,125,106,30,171,90,136,230,131,6,214,46,158,190,104,124,38,174,226,52,13,172,202,193,188,123,161,121,195,112,81,19,228,202,17,172,250,59,250,206,122, +241,59,222,20,96,126,241,127,99,136,56,122,59,29,122,143,95,253,155,198,53,58,215,193,160,101,4,107,54,154,43,116,26,191,212,32,12,206,53,68,236,112,161,75,99,66,14,214,56,163,209,232,56,119,14,102,94,123,174,26,193,154,142,226,58,157,34,156,185,109, +139,190,39,25,34,186,155,98,158,33,239,85,204,114,60,58,77,15,189,35,88,243,40,230,86,122,14,68,239,152,177,129,41,69,56,91,3,219,218,248,52,58,102,109,96,49,107,163,59,99,118,111,8,61,205,174,143,153,131,177,174,19,201,23,47,134,56,89,14,166,145,49, +195,136,229,85,227,235,117,220,58,77,15,163,68,176,155,225,63,231,10,118,213,115,188,116,100,131,53,50,52,200,197,6,182,63,38,137,102,76,213,66,58,28,168,169,68,115,217,211,218,53,74,174,208,232,204,236,139,70,215,182,129,93,111,106,25,232,20,193,234, +197,84,39,73,184,66,200,75,219,15,244,53,43,136,93,75,210,224,56,219,88,49,213,137,38,121,119,131,211,200,56,69,242,181,110,136,88,123,103,226,237,55,53,52,102,107,76,175,27,216,209,215,23,69,157,29,111,223,208,52,105,141,162,114,4,219,213,200,42,183, +132,118,231,52,77,109,69,131,33,226,161,151,161,84,14,2,158,177,100,250,6,118,40,40,117,184,132,118,52,238,104,160,52,111,96,147,141,237,96,206,6,86,36,189,26,188,113,153,120,148,238,17,236,80,122,229,226,150,206,225,194,238,77,42,211,252,243,104,96, +186,92,232,218,192,180,15,216,220,192,26,55,27,195,69,46,36,253,62,234,247,221,1,191,36,150,22,228,4,8,39,22,255,253,207,191,114,145,6,115,201,210,187,212,106,1,134,235,175,210,72,27,131,178,6,244,97,213,130,216,165,111,205,104,188,227,94,144,6,204,172, +213,37,163,115,189,40,172,117,141,20,40,20,1,9,160,114,16,43,210,209,234,173,21,1,64,235,32,214,126,226,41,65,11,128,117,188,84,22,0,65,12,0,90,75,183,219,237,246,143,127,254,251,253,55,226,249,164,216,182,83,100,241,242,7,199,79,179,197,174,133,56,189, +7,156,95,149,78,119,103,191,26,21,58,228,120,250,191,86,220,216,113,224,198,250,120,61,101,192,225,91,245,99,223,140,194,230,33,6,206,47,127,232,232,162,218,218,98,199,167,251,215,24,191,254,175,180,255,231,199,126,85,110,215,246,45,169,220,107,114,1, +38,12,112,133,123,188,207,73,194,82,143,27,187,215,150,22,23,242,34,70,44,103,52,177,58,245,217,245,248,85,126,241,139,104,91,221,0,37,85,25,52,231,45,43,47,159,90,124,220,191,167,248,176,255,252,92,58,154,99,109,138,124,213,82,155,252,80,32,33,133,2, +78,149,35,181,13,118,249,253,26,163,210,254,229,159,113,35,86,22,66,218,188,5,177,234,159,247,228,155,91,191,118,236,104,16,232,128,19,7,187,114,93,94,126,179,242,168,212,167,230,229,216,242,144,180,164,159,159,196,161,221,44,124,11,199,142,211,141,149, +230,135,2,144,233,189,94,98,68,147,237,126,117,173,45,189,254,201,251,13,218,126,234,242,205,15,86,164,112,81,188,24,98,93,141,138,121,192,5,237,238,250,242,142,132,165,80,63,155,246,109,240,173,234,229,179,250,99,145,168,147,175,11,128,128,92,111,93, +71,153,203,244,157,105,107,148,58,246,132,86,185,219,224,163,90,97,199,166,122,0,184,98,24,58,214,53,126,139,9,177,127,251,210,145,45,217,157,144,69,249,194,142,222,53,46,160,1,236,235,159,15,156,221,75,31,87,177,34,129,122,253,149,40,188,135,45,179, +182,157,27,231,161,50,96,68,3,12,176,223,247,170,15,17,100,103,31,154,86,237,224,138,40,249,28,204,54,6,130,202,215,197,142,221,175,40,58,1,19,71,165,174,15,160,173,237,242,247,247,179,219,158,19,139,61,27,119,104,207,154,141,12,38,29,224,0,151,83,233, +110,129,14,79,39,149,184,34,147,54,175,49,246,124,117,99,116,202,183,41,34,68,233,217,192,0,234,15,207,99,251,226,26,37,22,123,86,147,106,174,233,103,148,221,16,119,79,112,211,132,19,145,64,105,117,102,54,220,249,147,40,187,181,123,186,253,102,207,137, +29,74,174,220,5,8,80,100,112,28,205,54,166,208,131,80,81,35,136,237,12,44,249,69,88,139,210,53,40,200,1,20,15,130,81,108,77,5,111,76,137,191,131,88,191,75,80,249,150,191,189,165,19,128,57,130,95,28,94,210,241,94,63,61,102,69,135,246,46,74,21,77,148,43, +105,81,17,96,194,188,112,253,233,189,244,115,97,177,127,91,10,196,159,40,121,159,231,16,211,122,0,156,59,4,69,181,37,175,200,196,190,94,63,86,228,148,226,238,44,40,26,20,202,173,199,139,120,0,46,149,79,181,238,46,211,230,100,42,206,95,40,53,178,76,0, +1,173,114,16,91,181,1,77,95,157,178,156,64,197,8,27,1,208,202,68,3,234,22,87,116,238,227,236,106,110,252,75,0,122,6,181,42,153,216,247,21,198,210,214,84,123,114,110,223,147,222,206,250,1,34,193,184,89,95,185,171,51,121,57,136,149,93,97,201,154,138,77, +191,18,216,0,198,139,195,177,233,219,59,50,177,126,25,89,217,140,205,163,99,0,149,178,190,42,143,24,111,184,197,190,83,92,233,150,91,151,187,208,40,28,2,162,217,209,247,149,29,61,219,151,182,236,66,84,249,242,88,85,227,101,153,0,21,59,219,40,219,155, +166,173,219,16,5,54,120,246,236,89,126,6,208,169,147,253,25,196,100,20,2,20,192,156,82,245,206,249,68,243,23,206,24,238,227,246,250,114,101,94,241,119,188,216,111,191,247,251,217,126,255,234,115,78,22,196,186,68,2,71,83,151,192,187,229,239,124,112,121, +126,239,247,163,255,126,86,186,207,158,65,236,211,209,164,102,0,118,117,159,87,13,122,201,225,0,112,157,160,119,182,128,86,54,136,201,164,0,78,145,197,205,210,157,167,226,165,35,144,1,156,38,216,69,209,165,141,30,196,206,158,183,2,208,61,112,213,13,98, +71,247,65,224,3,168,106,223,59,66,198,220,222,241,110,236,200,83,213,46,0,29,185,59,113,188,65,71,153,32,252,120,66,123,205,211,162,95,255,182,229,105,82,191,247,251,153,127,31,186,185,223,221,66,30,126,123,67,16,187,232,209,233,111,127,251,251,245,223, +121,226,6,238,140,209,115,16,107,59,51,148,185,26,1,70,234,70,199,157,123,34,255,248,191,98,77,38,86,119,102,168,152,163,86,1,196,201,142,193,108,93,159,126,23,22,0,152,37,14,124,223,158,148,21,33,0,147,246,249,105,235,226,92,79,4,184,110,88,137,65,182, +39,214,6,177,173,49,114,182,135,232,0,216,223,107,71,241,37,110,251,85,170,181,131,33,72,1,156,62,164,245,126,228,46,221,110,183,219,255,254,252,163,112,100,61,98,236,19,150,78,167,2,140,211,233,14,248,176,115,22,66,0,88,229,174,8,0,152,149,105,167,0, +24,87,94,10,98,249,245,111,98,228,189,41,178,113,81,164,60,157,224,4,24,48,19,27,122,146,231,34,15,45,236,189,115,50,202,111,10,0,101,131,24,165,131,95,157,204,16,64,16,155,49,27,219,18,83,162,207,166,8,75,0,157,51,177,139,191,59,174,120,124,141,230, +25,30,245,196,138,250,139,133,33,142,122,135,170,65,76,0,43,211,197,113,149,97,202,218,239,8,94,208,44,19,155,190,99,238,180,19,71,187,41,65,16,224,96,16,251,212,49,235,100,199,14,130,130,37,32,136,93,33,58,232,197,1,166,100,218,41,0,100,98,50,51,0,166, +10,98,167,189,62,182,237,222,248,83,238,46,117,25,39,193,96,153,152,27,62,192,192,1,131,151,105,131,216,247,6,122,186,202,202,142,72,160,223,224,69,119,211,48,136,57,34,29,141,0,45,184,59,17,0,153,24,13,50,184,86,100,138,128,32,134,32,11,19,11,155,114, +233,32,150,21,62,96,48,87,118,83,86,116,168,87,235,115,93,19,3,64,38,182,102,48,35,43,3,24,63,129,156,169,175,78,61,11,87,80,3,56,103,32,60,101,16,3,160,81,116,185,72,150,144,122,78,69,225,84,35,64,199,128,119,130,142,55,141,18,94,188,0,18,96,224,204, +110,174,32,246,105,47,133,1,0,166,9,98,253,179,180,90,3,15,225,24,96,242,32,118,108,198,249,181,185,232,152,225,194,3,217,0,173,210,134,138,153,88,253,236,164,212,142,244,217,58,65,14,16,120,6,205,196,94,109,126,92,162,112,99,215,90,5,52,64,224,25,56, +136,169,244,126,25,33,32,24,177,53,136,229,247,197,216,180,171,142,153,14,177,44,180,1,140,158,137,53,13,102,39,184,147,255,34,207,22,2,204,17,196,62,117,206,213,59,227,126,19,137,156,226,100,129,96,9,8,98,11,157,113,243,142,242,164,129,173,119,176,84, +132,192,172,188,79,12,128,235,101,98,175,70,251,70,244,231,207,218,0,78,19,196,62,117,134,205,2,218,187,30,88,68,5,16,196,78,145,94,8,104,0,167,228,154,24,0,50,177,161,19,33,23,239,0,206,26,196,220,183,14,128,76,108,117,34,84,90,148,222,32,49,28,96,138, +96,16,255,253,207,191,54,45,86,255,222,191,48,212,1,160,155,116,83,7,0,147,218,116,26,209,200,95,150,5,48,74,31,38,3,3,96,74,2,24,0,83,218,116,10,177,203,44,245,87,201,133,95,148,245,64,155,3,80,172,15,235,18,192,212,132,40,2,48,85,6,166,175,62,85,114, +7,112,141,0,166,131,21,172,0,166,205,192,244,220,0,76,21,192,118,197,29,193,74,81,0,52,224,54,122,0,4,48,0,16,192,0,64,0,3,64,0,3,128,1,164,219,237,118,251,199,63,255,253,230,227,120,253,215,234,219,235,226,199,159,101,238,204,139,77,219,225,110,64,224, +212,162,125,175,23,171,190,16,21,86,26,191,254,207,116,124,43,183,253,246,248,124,138,219,163,224,101,231,112,4,174,33,47,116,216,81,103,149,177,106,155,10,198,150,28,79,139,191,175,44,149,85,219,179,118,15,242,225,98,203,187,127,149,111,109,38,153,4, +232,19,201,218,245,116,203,107,201,21,214,248,91,170,150,125,85,207,91,243,192,27,9,48,66,127,153,7,232,208,95,228,106,133,54,37,21,216,148,67,113,180,103,145,174,142,149,0,172,238,79,91,245,157,105,221,166,197,193,93,139,6,69,39,220,0,236,27,182,71, +199,117,111,93,127,94,25,192,222,196,158,213,33,41,63,166,177,81,38,252,188,13,245,229,3,229,158,179,183,194,40,48,95,204,42,219,127,46,246,235,133,242,142,180,216,245,238,10,98,81,126,135,223,254,48,138,20,68,207,160,7,92,91,151,238,235,199,229,177, +242,103,179,22,175,192,229,199,117,111,95,111,90,21,146,54,47,251,219,15,170,158,69,204,15,255,9,41,16,192,161,145,247,139,64,214,226,42,208,218,64,17,47,3,216,190,245,70,225,47,31,139,117,249,175,140,76,16,3,102,141,31,195,100,107,15,189,113,129,228, +172,216,62,62,108,86,218,179,47,181,35,222,225,85,229,110,53,14,208,53,216,69,171,149,71,221,213,172,9,98,233,232,82,119,157,93,92,177,243,69,207,198,230,174,195,24,128,238,1,46,74,47,173,74,48,203,235,99,64,142,50,147,249,214,152,111,99,255,82,220,70, +1,240,170,103,44,55,71,71,110,186,221,239,62,73,7,243,169,133,95,150,185,123,99,123,160,119,14,17,160,110,166,214,238,25,220,119,107,186,95,182,170,76,138,8,80,166,127,237,212,151,110,190,11,49,74,206,37,181,176,156,104,84,246,146,53,224,234,14,119,125, +185,238,10,163,68,0,43,30,60,98,176,106,201,181,106,23,64,232,43,217,255,167,250,43,94,248,114,245,211,168,185,92,97,55,25,198,0,204,228,64,234,117,176,255,79,91,3,78,203,151,67,214,121,228,192,228,191,0,107,194,80,84,91,83,153,233,6,83,155,213,47,4, +141,216,86,184,81,173,186,54,44,93,252,3,228,86,59,187,199,135,152,112,224,42,79,58,186,99,197,30,52,142,253,133,26,35,213,172,192,6,8,124,235,187,196,3,167,245,250,188,145,249,108,157,188,160,5,208,92,250,24,18,87,68,198,109,193,243,97,185,5,59,254, +178,231,110,119,188,244,205,243,100,128,65,241,142,108,236,235,109,34,251,102,190,79,139,191,216,21,196,98,219,158,69,189,66,11,71,18,48,115,175,127,162,238,107,85,191,188,97,223,211,234,181,30,121,31,88,199,64,214,247,72,18,252,128,73,186,175,152,101, +67,31,3,88,193,211,120,49,96,84,234,59,17,189,115,139,64,105,243,15,140,75,61,142,149,234,111,84,30,174,192,243,169,15,13,224,154,105,85,76,185,23,71,182,186,248,11,45,15,109,212,0,73,155,9,55,0,113,177,93,71,119,164,219,79,237,74,38,170,125,125,212, +64,39,200,1,83,71,160,134,73,197,158,110,63,181,45,92,93,58,64,191,160,118,174,62,56,69,229,98,11,135,14,192,73,67,72,223,52,39,109,94,250,198,26,120,222,160,13,11,200,106,28,48,176,45,27,0,115,185,159,69,157,45,221,18,196,26,188,78,165,192,78,73,231, +0,38,136,196,5,59,233,21,139,74,45,247,51,142,70,63,151,209,0,113,163,99,6,183,101,235,14,78,232,183,162,191,79,135,214,16,29,118,237,220,215,36,1,134,9,128,49,226,198,62,108,84,202,37,22,30,219,127,248,87,252,139,178,59,40,152,1,20,143,31,113,232,215, +133,195,226,195,70,221,251,22,142,251,244,0,102,8,100,121,192,165,165,17,10,70,242,4,48,79,70,86,40,151,154,63,128,21,13,97,162,33,192,53,194,97,254,117,10,49,151,221,142,126,11,169,145,239,2,208,36,160,109,235,184,211,243,143,99,128,29,40,152,156,202, +200,0,38,207,204,222,187,63,127,61,183,88,231,202,159,23,76,163,100,100,0,29,67,77,29,169,232,251,187,170,100,60,5,179,50,83,200,3,156,70,250,234,181,251,157,64,140,26,161,170,92,144,19,208,0,90,164,24,123,3,88,133,61,138,19,214,142,192,6,48,90,6,182, +50,238,52,236,180,135,187,255,66,192,2,24,42,27,75,155,146,167,14,81,101,152,51,122,179,222,4,18,47,234,109,233,239,239,7,130,223,251,253,204,191,95,243,55,83,38,33,233,221,138,99,240,66,145,20,237,40,176,188,16,148,253,237,239,43,255,61,211,160,84,86, +118,187,221,62,204,133,152,39,41,24,119,199,3,204,23,204,170,6,48,97,8,128,145,117,120,35,243,218,216,236,4,33,192,225,52,38,206,91,8,233,112,33,198,56,245,41,228,1,28,12,120,149,131,95,201,252,39,141,95,234,194,18,0,63,163,113,26,63,132,228,213,195, +130,245,223,4,160,103,175,30,171,191,89,51,3,27,252,121,10,87,214,0,10,230,15,133,178,132,18,161,35,205,95,170,66,18,192,181,162,102,201,0,214,245,92,99,201,91,240,5,67,128,253,93,112,110,218,165,166,181,219,23,69,191,56,106,238,182,54,24,10,116,128, +172,232,104,114,115,52,100,164,42,251,25,42,115,28,71,38,67,244,123,191,63,195,239,95,117,76,163,78,150,152,207,223,101,22,44,214,116,187,176,107,220,181,120,100,50,68,191,247,251,43,255,222,12,65,163,135,236,180,101,37,81,229,203,115,20,166,147,134, +0,99,37,153,105,235,122,175,16,196,142,148,185,64,7,208,70,218,18,14,175,220,57,11,76,0,99,185,43,2,0,38,205,192,42,242,188,49,0,53,3,88,147,216,50,249,53,177,153,95,222,234,141,244,126,127,229,223,35,3,147,145,157,32,240,122,131,188,191,175,252,247, +89,232,58,127,115,13,12,0,25,152,108,12,160,93,215,121,245,140,237,62,76,141,120,232,29,128,41,50,48,0,154,103,108,103,202,200,92,3,3,64,6,86,116,168,224,186,24,0,205,2,152,160,3,48,180,53,183,27,204,210,149,151,9,96,2,23,192,233,130,92,84,95,195,8,1, +172,254,222,2,112,234,188,175,87,0,3,128,6,65,171,94,0,115,19,6,0,141,212,203,192,246,6,95,129,15,160,137,114,221,109,238,178,157,78,33,2,8,92,93,2,211,184,25,88,201,64,46,43,3,24,36,219,26,103,187,231,200,192,178,26,6,40,213,141,158,165,171,115,10,113, +158,108,121,127,80,222,251,70,64,191,247,251,51,252,254,235,111,111,188,124,219,213,197,192,29,225,167,170,18,192,0,140,220,101,96,0,8,74,2,24,229,143,227,61,239,96,247,123,191,191,202,239,103,106,208,174,215,255,14,96,103,126,95,204,216,81,37,222,180, +164,119,39,254,99,231,239,93,68,241,251,43,255,126,107,251,145,175,141,22,7,222,205,86,152,198,40,42,135,205,186,97,99,174,252,123,67,120,191,151,130,77,221,117,92,162,127,92,8,96,101,110,208,17,168,0,102,14,31,49,248,54,85,204,192,162,241,110,1,112, +37,119,33,1,128,119,113,96,228,88,112,87,69,0,156,42,3,147,133,1,48,178,52,118,144,18,66,1,174,99,91,159,127,95,179,184,209,207,131,2,80,55,172,228,129,182,101,117,0,3,128,17,109,186,141,254,93,4,54,115,7,192,53,50,177,17,250,253,188,39,128,45,45,44, +118,23,5,0,51,6,179,158,147,94,164,26,59,244,188,83,2,21,0,229,227,65,154,105,99,1,56,103,48,218,29,192,254,247,231,31,133,82,193,163,198,188,154,230,26,31,192,120,157,239,93,190,180,110,156,225,81,2,128,177,12,246,66,203,165,16,33,23,2,224,69,6,6,0, +2,24,0,8,96,0,240,44,41,2,0,134,148,101,96,0,156,50,3,203,63,3,222,240,247,250,117,220,192,81,230,2,3,16,192,206,148,79,206,16,1,1,40,98,206,83,136,158,42,6,144,129,189,139,15,231,206,81,246,70,191,248,184,20,121,29,128,12,12,0,182,103,96,148,206,220, +182,103,119,0,236,12,96,83,156,70,28,236,150,64,167,20,1,100,96,101,147,35,145,4,64,0,163,71,4,102,76,177,162,254,226,205,103,161,222,161,102,0,203,18,152,162,33,73,57,2,200,192,96,146,172,57,203,184,161,71,0,147,49,28,163,252,0,58,5,48,167,16,203,142, +207,149,35,64,163,0,118,154,64,54,200,237,246,91,78,26,9,118,0,5,2,152,140,98,236,96,119,148,122,4,102,100,42,41,0,206,159,129,157,98,212,126,145,52,82,86,5,8,96,31,226,128,78,114,158,56,45,216,1,103,227,20,34,0,2,24,0,180,98,38,14,183,86,2,200,192,0, +96,138,12,108,176,215,113,213,201,200,46,144,149,153,149,175,61,137,62,200,192,0,144,129,149,25,197,27,89,130,172,23,153,183,12,12,0,4,48,0,206,164,248,109,244,167,60,149,152,157,15,0,234,117,37,107,232,110,100,96,0,200,192,216,53,156,50,140,2,144,129, +1,32,128,1,192,84,156,66,108,109,205,105,71,167,25,1,4,176,211,6,185,154,4,80,224,138,1,76,223,39,128,242,162,65,100,141,196,161,192,240,1,204,148,82,176,48,24,48,64,184,100,180,241,12,216,4,1,12,224,148,3,15,169,216,117,2,88,86,79,0,69,130,99,222,16, +252,174,212,239,186,141,30,0,1,12,0,4,48,0,248,160,234,77,28,223,79,245,186,38,6,80,215,209,251,79,102,234,167,83,235,130,21,196,0,230,11,128,35,246,221,169,87,225,8,100,0,215,201,236,106,112,13,12,128,41,121,144,25,224,108,105,208,69,78,113,165,94,183, +90,184,193,3,0,25,24,0,219,50,181,19,100,13,105,148,220,168,213,5,66,153,30,128,12,12,128,51,103,105,131,115,23,34,0,103,205,192,188,137,15,128,41,3,216,167,156,83,64,3,160,143,203,157,66,204,55,47,196,5,184,96,6,182,148,145,189,34,75,3,184,158,250,169, +66,82,180,66,44,192,148,25,88,253,201,117,75,70,225,104,182,133,130,26,96,120,63,182,251,124,155,220,174,10,93,47,3,24,56,3,59,215,200,64,222,4,112,134,236,106,115,0,155,255,133,147,91,42,39,118,45,85,136,4,4,165,49,152,137,3,128,249,51,48,163,150,178, +153,27,128,76,170,102,0,203,63,139,176,89,23,29,51,30,98,249,228,161,76,128,6,129,102,226,12,172,254,173,245,173,87,212,230,48,14,141,19,160,111,0,107,158,141,157,228,46,9,51,69,2,12,18,192,154,6,177,147,100,101,2,26,192,32,1,172,75,16,59,41,51,126,0, +52,14,96,93,178,137,139,164,47,53,174,56,9,138,128,0,54,82,86,230,105,226,106,65,81,113,2,51,154,243,65,102,147,20,2,200,192,78,147,106,72,35,0,4,176,105,8,90,0,2,152,4,232,186,156,141,53,246,130,75,103,96,110,181,7,131,6,104,233,62,117,163,244,214,73, +0,25,88,233,32,214,60,27,115,62,19,64,6,6,103,41,158,190,0,0,14,109,73,68,65,84,0,151,203,192,134,96,18,66,0,25,24,0,8,96,0,48,122,0,115,99,32,0,53,85,189,6,54,204,171,189,220,161,8,112,198,12,76,174,4,192,180,25,152,20,5,128,41,3,88,93,53,115,188,56, +186,49,226,53,128,0,54,165,92,34,42,2,208,58,155,137,255,254,231,95,85,47,130,137,5,56,48,180,3,0,0,227,171,223,60,203,12,0,0,208,80,181,91,57,156,249,231,140,28,215,0,0,198,97,71,185,18,6,0,0,208,80,181,43,97,195,76,234,11,21,142,235,173,180,3,0,128, +62,227,176,75,37,97,92,144,76,3,0,0,36,97,52,180,246,244,132,100,13,0,0,73,88,25,198,214,204,198,49,11,0,192,148,73,216,48,3,89,35,106,28,10,0,0,12,206,236,136,0,0,0,13,29,186,18,214,236,106,131,203,26,56,36,0,0,56,9,87,194,0,0,0,36,97,0,0,0,146,48,0, +0,0,36,97,0,0,0,243,248,53,49,199,63,254,249,239,29,63,143,117,159,84,155,69,33,86,253,243,24,147,56,68,213,13,49,81,5,0,192,64,98,248,5,206,83,36,49,81,121,44,36,65,241,61,9,43,45,63,174,54,55,46,171,252,188,167,121,148,106,202,245,218,84,150,144,1, +0,140,35,207,156,240,53,25,162,183,47,203,232,95,239,95,121,73,170,185,51,213,147,159,216,94,30,93,143,209,232,223,230,37,104,0,0,140,150,163,198,197,246,253,94,182,248,122,87,223,232,197,157,181,56,0,0,14,140,37,141,39,231,203,3,126,58,118,37,44,190, +10,32,22,139,167,222,109,177,219,174,183,117,185,109,47,198,201,251,243,209,205,7,0,160,175,56,223,125,79,121,215,158,108,200,52,162,215,94,69,133,36,108,197,10,246,165,74,229,215,223,52,65,156,112,43,74,38,110,146,54,0,0,99,203,146,99,208,158,153,70, +141,60,37,85,88,102,155,226,249,113,124,237,95,122,245,106,91,117,4,157,179,193,72,210,0,0,122,12,182,206,117,26,125,121,164,156,15,44,32,154,87,88,42,183,204,124,187,197,186,139,134,81,107,159,226,88,34,214,164,26,22,27,205,121,146,177,189,69,80,146, +132,15,0,144,164,109,73,218,98,154,93,139,18,101,179,226,241,170,26,82,143,161,235,254,42,142,38,25,94,191,167,182,226,76,23,196,46,151,240,1,0,243,186,244,208,43,47,141,158,98,200,130,43,50,102,207,199,51,148,61,101,147,138,151,68,175,219,19,43,150, +95,151,187,76,179,158,1,0,160,215,208,75,98,119,160,224,226,60,117,88,36,193,139,213,73,216,168,15,183,157,253,50,81,190,106,243,5,0,192,24,245,50,249,70,170,90,71,81,252,235,221,142,149,92,50,43,110,153,218,203,225,0,0,134,73,93,106,138,25,119,60,230, +173,203,56,240,227,84,125,107,99,176,210,139,139,183,126,73,25,0,0,205,83,204,248,188,152,152,125,255,182,149,67,90,94,113,28,93,199,230,93,141,77,133,18,213,182,167,122,86,92,244,0,136,102,251,12,0,192,252,105,81,219,161,98,126,179,242,56,69,121,199, +198,95,165,117,95,140,253,91,22,251,119,40,74,175,164,209,149,176,62,23,159,222,28,6,174,132,1,0,176,35,113,139,38,43,207,211,39,99,123,18,178,251,144,41,249,149,182,167,199,254,63,254,15,0,0,70,24,159,94,72,170,189,130,33,223,253,86,224,234,80,156,233, +160,175,82,233,0,0,204,166,235,48,46,207,191,163,107,23,155,154,110,97,149,219,1,11,191,157,57,52,151,161,26,144,132,14,0,64,218,87,123,188,218,120,51,210,250,45,140,221,251,23,205,74,176,207,163,133,253,243,132,60,207,1,15,0,192,176,218,63,35,214,234, +242,87,219,89,26,150,214,150,182,45,114,212,68,76,66,86,239,128,151,172,1,0,48,251,205,99,109,183,126,41,255,73,61,118,123,216,202,139,58,251,41,197,177,211,0,0,103,77,200,166,30,78,70,159,50,74,61,55,182,217,21,178,152,227,0,62,101,110,34,225,2,0,160, +210,24,122,214,161,102,218,190,187,81,116,175,235,21,224,67,138,55,73,166,147,135,204,99,14,222,25,108,26,252,54,73,238,154,75,205,121,195,231,177,177,193,90,191,245,91,191,245,91,127,159,245,131,100,108,199,8,245,161,65,117,186,93,47,237,219,213,40, +222,33,212,185,42,246,98,3,39,124,121,241,184,155,108,26,196,161,171,32,119,250,173,245,91,191,245,91,191,245,247,93,63,115,51,36,106,152,87,188,25,101,55,104,103,169,72,141,23,74,198,62,23,88,212,171,165,201,14,250,177,146,50,61,5,0,64,181,129,158,33, +90,131,33,126,251,194,74,197,247,54,202,20,88,244,72,61,38,125,64,171,239,164,39,78,201,245,229,126,68,235,183,126,235,183,254,107,175,127,233,51,100,33,18,183,229,20,165,253,120,54,141,90,216,203,221,73,190,198,81,211,160,221,41,185,179,214,180,251, +129,172,223,250,173,223,250,175,181,126,39,70,207,193,200,172,197,136,169,119,41,167,106,123,56,219,12,138,23,206,241,178,110,0,0,128,11,189,70,182,247,245,227,84,117,207,162,206,241,16,61,138,242,162,87,250,71,61,167,38,57,4,0,100,66,131,108,98,156, +171,180,91,236,78,58,239,129,107,152,14,0,192,85,147,53,99,225,145,165,217,15,185,112,192,233,118,0,0,46,151,138,24,243,214,30,103,214,44,225,84,117,5,13,30,232,250,185,138,202,83,28,186,208,6,0,48,221,128,250,124,105,79,30,103,79,78,58,151,66,205,97, +127,154,122,235,123,174,220,228,140,0,0,92,62,53,221,184,248,85,99,230,243,15,172,83,243,186,62,235,235,189,36,101,0,0,82,151,134,66,33,182,221,228,130,5,158,186,237,69,180,172,215,252,247,234,98,156,3,76,146,6,0,192,64,249,76,12,191,103,49,126,129,175, +220,196,212,45,33,109,124,249,42,63,252,255,49,194,33,150,135,62,242,1,0,144,212,13,150,10,13,154,156,237,216,196,52,204,198,54,189,72,245,156,1,198,168,149,38,41,3,0,96,194,100,45,134,219,162,206,3,236,111,119,3,166,78,121,208,144,7,146,156,7,0,0,202, +167,69,198,217,207,210,80,53,213,121,6,197,225,146,177,236,200,5,0,224,92,73,89,12,179,37,29,182,38,255,72,194,174,124,45,76,198,3,0,0,215,206,1,218,229,1,105,168,68,100,152,75,81,135,95,110,208,118,147,228,141,0,0,208,96,208,93,37,9,27,50,35,154,160, +98,148,17,0,0,176,35,9,27,230,134,196,206,249,223,148,233,231,248,115,138,2,0,128,135,128,110,183,91,138,111,69,48,212,147,97,205,110,209,140,235,28,32,185,89,241,1,0,128,132,236,85,18,246,174,48,98,212,90,114,117,108,254,196,78,33,2,0,112,225,132,44, +85,201,119,194,193,113,26,18,38,0,0,140,185,219,36,97,143,59,31,74,109,113,55,79,187,187,185,227,186,37,128,0,0,18,178,19,14,19,211,150,29,143,163,165,22,215,59,72,228,17,147,38,128,0,0,71,25,8,86,31,38,206,90,196,233,74,59,59,90,30,161,28,1,0,160,236, +88,123,134,49,118,218,187,179,113,234,234,139,19,175,21,0,0,206,159,152,141,60,182,78,74,100,41,61,146,26,1,0,112,112,72,89,139,161,234,148,210,145,99,42,74,28,144,49,91,235,137,19,172,9,0,0,137,222,185,19,191,177,174,255,228,50,73,152,35,93,170,4,0, +0,108,207,142,211,209,69,75,65,218,86,157,242,6,0,128,237,99,234,145,198,209,233,140,59,53,82,150,91,58,125,146,152,1,0,192,190,113,116,20,93,90,199,36,236,240,78,93,102,14,140,92,45,57,51,13,62,0,0,221,135,181,91,69,191,77,143,230,59,91,41,9,171,82, +161,113,245,163,88,10,5,0,128,100,174,254,16,185,237,12,39,105,138,138,9,71,102,123,18,64,0,0,6,28,3,159,224,249,156,84,186,184,170,38,166,242,130,162,135,112,52,79,0,85,32,0,192,229,146,166,94,155,16,227,166,23,169,198,254,27,106,159,167,185,196,217, +26,40,0,0,116,30,157,166,154,59,19,211,44,152,146,7,166,234,1,0,224,178,25,214,10,247,105,11,212,69,21,0,0,96,66,169,102,54,227,214,196,107,42,121,68,57,126,0,0,56,97,18,86,143,1,244,53,169,119,0,0,232,148,132,85,119,153,23,61,3,0,0,167,75,194,166,207, +97,78,240,190,128,179,88,186,29,81,181,0,0,32,9,187,82,54,32,3,24,62,73,3,0,232,193,48,17,73,24,0,0,52,84,227,68,177,196,14,73,216,247,214,165,85,0,0,48,89,98,39,201,147,132,157,183,85,56,162,1,0,0,73,24,0,0,240,197,132,104,115,186,43,2,0,0,128,118,92, +9,123,199,179,99,0,0,156,104,72,123,51,188,149,132,77,125,244,58,106,1,0,144,156,113,186,36,204,17,0,0,0,146,179,106,123,37,9,123,93,86,18,49,0,0,152,34,141,137,105,182,84,18,6,0,0,76,102,172,107,37,121,186,242,147,132,1,0,0,19,200,167,217,147,164,156, +167,74,243,1,0,192,112,118,242,242,117,37,12,0,0,168,40,43,2,73,24,0,0,32,177,146,132,93,243,248,114,109,24,0,0,195,203,203,149,181,36,108,230,4,79,43,3,0,96,97,120,25,197,151,200,87,201,236,45,91,73,216,149,147,56,198,23,15,45,252,83,175,186,166,199, +205,43,62,127,92,79,172,56,230,98,227,242,173,223,250,173,223,250,173,191,252,250,191,127,254,233,247,78,224,26,50,22,79,210,148,237,158,50,148,132,1,0,192,212,105,20,179,145,132,1,0,128,164,137,30,73,88,249,251,71,161,119,231,183,231,94,141,120,241, +189,199,101,229,55,255,254,110,29,175,126,251,110,27,94,180,194,252,247,50,242,155,245,231,88,248,237,135,229,191,250,60,63,236,127,94,186,159,197,250,173,223,250,173,223,250,199,88,255,183,216,245,105,253,249,93,252,121,23,255,152,198,129,129,123,174, +179,216,203,166,221,107,202,44,149,92,152,51,24,204,83,135,121,229,191,231,141,255,190,229,59,121,195,62,28,89,255,150,207,243,198,242,179,126,235,183,126,235,183,254,254,235,207,133,215,111,28,100,232,42,31,56,82,224,107,38,236,184,43,64,0,0,128,118, +86,63,19,118,189,44,184,199,94,58,235,4,0,192,152,92,21,203,155,190,249,169,140,238,123,87,47,93,0,0,128,235,38,100,114,130,253,41,155,219,17,1,0,0,26,58,148,132,201,128,1,0,224,218,228,3,159,203,230,149,195,239,9,51,75,202,218,162,6,0,128,243,57,119, +62,144,171,148,77,202,149,54,235,26,201,153,132,11,0,128,107,59,231,251,134,115,209,165,124,47,143,212,106,179,93,49,3,0,128,107,37,102,114,128,223,229,241,88,22,247,214,21,1,0,0,112,101,169,229,202,182,38,98,253,50,103,41,35,0,0,212,28,85,199,84,91, +91,118,233,233,154,85,14,0,0,72,9,251,72,179,21,83,72,182,0,0,224,20,41,81,84,93,250,184,210,124,85,5,0,0,24,199,207,235,87,18,246,191,63,255,120,251,165,235,206,106,98,62,23,37,8,0,0,101,7,185,119,37,8,0,0,208,78,82,4,159,28,185,108,234,26,16,0,0,240, +147,43,97,0,0,0,146,48,0,0,128,115,114,59,34,0,0,192,22,7,39,123,116,37,12,0,0,160,161,180,38,139,251,250,138,169,38,14,184,104,225,101,69,2,0,0,223,146,48,58,164,31,50,65,0,0,184,42,183,35,2,0,0,52,228,74,88,43,175,46,140,197,8,27,81,147,43,111,0,0, +112,40,9,243,108,24,173,82,66,199,24,0,0,103,229,118,68,0,0,128,134,220,142,72,69,121,194,109,118,13,14,0,128,1,147,48,183,37,118,202,81,66,209,72,149,0,0,184,100,18,198,128,153,137,172,164,83,102,12,108,23,133,218,95,108,252,109,104,239,0,12,193,51, +97,0,0,0,13,29,186,18,246,120,14,209,133,24,90,218,115,206,27,0,0,166,79,194,12,114,233,197,177,7,51,203,157,150,227,246,67,0,78,144,132,185,18,198,200,67,56,199,36,0,0,167,75,194,94,13,138,13,124,7,204,74,66,145,72,214,0,0,56,93,18,246,105,224,107,144, +203,25,146,181,163,180,3,0,0,170,36,97,18,51,232,155,236,73,16,1,0,36,97,6,123,163,143,254,85,202,52,84,21,0,192,252,188,39,12,0,0,160,161,230,87,194,76,224,1,199,219,79,105,218,35,0,64,59,174,132,1,0,0,52,148,20,1,158,25,3,0,128,118,92,9,3,0,0,104,168, +219,149,176,199,139,47,46,180,64,95,163,77,159,175,79,0,0,36,97,18,50,35,116,35,103,46,156,20,114,14,186,40,0,36,97,18,50,0,36,247,48,60,227,49,184,64,18,246,42,96,106,252,0,0,125,199,99,18,71,40,199,196,28,0,0,0,13,153,162,158,114,182,156,42,115,138, +10,0,0,73,216,28,99,123,99,119,0,0,214,142,29,91,50,78,229,84,73,24,122,71,61,34,0,0,103,225,153,48,0,0,0,73,24,0,0,192,57,185,29,145,243,43,117,235,163,219,26,1,0,144,132,193,132,201,156,36,15,0,64,18,6,92,32,201,147,32,2,0,72,194,140,255,64,130,8,192, +36,194,102,194,165,146,48,239,9,3,0,24,104,64,54,211,102,54,24,60,26,159,114,202,36,12,0,0,166,73,30,101,101,156,45,9,115,85,12,0,128,43,228,121,198,186,231,229,61,97,0,0,0,146,48,0,0,0,73,24,0,0,0,7,77,61,49,199,167,251,111,221,67,11,0,192,89,199,186, +173,24,83,75,194,36,104,0,0,112,177,68,240,140,220,142,8,0,0,208,144,247,132,1,0,64,73,53,46,31,185,149,75,18,118,182,118,225,152,6,0,0,26,38,97,107,82,245,115,167,41,94,0,13,0,0,52,76,194,182,166,41,231,78,208,242,229,82,80,0,0,166,28,164,238,97,96, +59,83,18,230,152,159,149,118,6,0,0,146,48,0,0,160,7,115,206,15,193,20,245,0,0,0,13,21,184,18,230,181,200,0,0,0,13,147,48,9,26,0,0,192,32,73,24,189,153,237,17,0,0,36,97,31,210,131,189,164,21,0,0,112,126,231,152,89,36,229,83,164,48,91,42,67,194,230,234, +24,0,0,18,171,142,73,216,171,221,14,149,92,64,156,178,84,36,107,0,0,146,35,10,36,97,239,138,219,128,155,181,77,209,177,2,0,0,7,146,48,201,88,205,116,101,173,115,92,73,115,236,0,0,204,56,22,165,91,18,198,25,27,142,180,8,0,64,178,132,36,140,147,55,116, +137,31,0,96,172,4,155,146,48,183,37,114,172,27,203,82,179,105,169,37,0,36,52,80,62,9,203,251,154,209,41,134,102,198,151,195,118,203,170,6,0,128,243,38,97,178,0,137,26,28,106,36,0,0,52,73,194,46,243,110,177,107,189,68,237,84,67,127,85,5,0,192,136,238, +138,0,0,0,160,157,98,183,35,122,190,135,209,140,116,35,157,54,0,0,64,241,36,108,237,96,120,250,193,168,231,200,232,148,16,58,172,0,0,36,97,135,6,163,167,30,80,174,29,113,27,85,211,56,145,115,40,2,0,244,231,153,48,0,0,128,134,146,34,232,232,221,165,13, +151,37,0,0,64,18,86,51,255,184,108,206,33,217,98,240,243,1,154,6,0,192,137,146,176,165,1,160,65,24,72,10,1,0,206,200,51,97,0,0,0,13,13,251,76,216,37,110,87,220,122,186,223,229,65,0,0,144,132,73,200,0,0,0,214,115,59,34,0,0,64,67,166,168,159,201,167,219, +23,93,34,4,0,128,41,184,18,6,0,0,32,9,3,0,0,56,167,233,110,71,124,119,71,222,229,239,198,115,171,34,0,0,76,193,149,48,0,0,128,134,146,9,224,1,0,0,154,38,97,143,220,236,119,74,75,47,133,86,189,0,0,208,43,9,59,111,158,49,178,152,161,240,36,106,0,0,72,12, +138,240,76,24,0,0,64,67,255,15,178,157,249,255,109,185,188,65,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* background_png = (const char*) temp_binary_data_0; + +//================== startup.syx ================== +static const unsigned char temp_binary_data_1[] = { 240,67,0,9,32,0,7,64,45,99,45,99,0,0,0,0,0,0,56,0,99,0,0,10,64,49,99,46,99,0,0,0,0,0,0,56,0,99,4,0,13,64,49,99,46,99,0,0,0,0,0,0,56,0,99,0,0,15,64,49,99,44,99,0,0,0,0,0,0,56,0,99,4,0,25,64,49,99,50,99,0,0,0,0,0,0,56,0,99,0,0,70,40,49,99,99,92,0,0,0,0, 0,0,56,0,99,2,0,99,99,99,99,50,50,50,50,31,15,35,0,0,0,49,24,83,97,121,32,65,103,97,105,110,46,72,76,10,32,99,85,80,0,49,0,0,0,56,8,84,20,0,76,73,10,28,99,92,90,0,50,0,0,0,24,4,90,4,0,49,74,10,32,98,98,98,0,41,61,64,10,72,8,71,4,0,55,15,10,47,99,92,92, 0,56,91,0,3,112,4,99,4,0,55,32,32,29,93,94,90,0,68,0,99,2,0,4,88,4,1,55,56,10,47,99,98,64,0,39,99,0,15,88,8,98,4,1,98,98,98,98,53,49,50,50,14,15,33,35,16,0,16,12,76,65,85,82,73,69,32,32,32,32,99,46,54,85,99,96,99,0,57,0,0,0,58,4,99,5,75,99,46,34,91,99, @@ -54,7 +227,7 @@ static const unsigned char temp_binary_data_0[] = 111,119,51,68,32,80,97,100,57,32,77,30,99,99,58,0,10,0,0,4,48,4,99,1,25,11,30,25,28,99,99,0,0,10,0,0,4,56,4,92,8,0,26,71,20,39,99,99,0,0,0,0,0,4,72,4,93,51,5,8,10,20,41,99,99,0,0,0,0,0,0,56,5,93,14,0,18,99,20,36,99,99,0,0,0,0,0,0,64,5,90,4,0,28,99,20, 35,99,99,17,0,0,0,0,0,56,5,99,12,0,98,98,75,60,50,50,50,50,16,3,35,99,10,8,48,12,76,70,79,32,83,87,69,69,80,32,88,247,0,0 }; -const char* startup_syx = (const char*) temp_binary_data_0; +const char* startup_syx = (const char*) temp_binary_data_1; const char* getNamedResource (const char*, int&) throw(); @@ -67,6 +240,7 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw switch (hash) { + case 0x551aef98: numBytes = 12012; return background_png; case 0xca88aa10: numBytes = 4104; return startup_syx; default: break; } @@ -75,10 +249,11 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw return 0; } -const int namedResourceListSize = 1; +const int namedResourceListSize = 2; const char* namedResourceList[] = { + "background_png", "startup_syx" }; diff --git a/JuceLibraryCode/BinaryData.h b/JuceLibraryCode/BinaryData.h index c857a43..cb18c39 100644 --- a/JuceLibraryCode/BinaryData.h +++ b/JuceLibraryCode/BinaryData.h @@ -6,6 +6,9 @@ namespace BinaryData { + extern const char* background_png; + const int background_pngSize = 12012; + extern const char* startup_syx; const int startup_syxSize = 4104; diff --git a/Source/DXLookNFeel.cpp b/Source/DXLookNFeel.cpp index b162c57..f7557b9 100644 --- a/Source/DXLookNFeel.cpp +++ b/Source/DXLookNFeel.cpp @@ -19,6 +19,46 @@ */ #include "DXLookNFeel.h" +#include "PluginProcessor.h" + +void EnvDisplay::paint(Graphics &g) { + int rate[4]; + int level[4]; + + for(int i=0;i<4;i++) { + rate[i] = s_rate[i]->getValue(); + level[i] = s_level[i]->getValue(); + } + + env.init(rate, level, 99 << 5, 0); + env.keydown(true); + for (int i=0;i<72;i++) { + int32_t pos = env.getsample(); + for(int j=0;j<16;j++) { + env.getsample(); + } + g.setPixel(i, 32 - (sqrt(pos) / 512)); + } + env.keydown(false); + for (int i=0;i<24;i++) { + int32_t pos = env.getsample(); + for(int j=0;j<16;j++) { + env.getsample(); + } + g.setPixel(i+72, 32 - (sqrt(pos) / 512)); + } +} + +void AlgoDisplay::updateUI() { + +} + +void AlgoDisplay::paint(Graphics &g) { + +} DXLookNFeel::DXLookNFeel() { -} \ No newline at end of file + setColour(TextButton::buttonColourId,Colour(0xFF0FC00F)); + setColour(Slider::rotarySliderOutlineColourId,Colour(0xFF0FC00F)); + setColour(Slider::rotarySliderFillColourId,Colour(0xFFFFFFFF)); +} diff --git a/Source/DXLookNFeel.h b/Source/DXLookNFeel.h index 25abacd..2ea1368 100644 --- a/Source/DXLookNFeel.h +++ b/Source/DXLookNFeel.h @@ -22,7 +22,23 @@ #define DXLOOKNFEEL_H_INCLUDED #include "../JuceLibraryCode/JuceHeader.h" +#include "msfa/env.h" +class EnvDisplay : public Component { + Env env; +public: + Slider *s_rate[4]; + Slider *s_level[4]; + + void paint(Graphics &g); +}; + +class AlgoDisplay : public Component { + int algo; +public: + void paint(Graphics &g); + void updateUI(); +}; class DXLookNFeel : public LookAndFeel_V3 { public: diff --git a/Source/GlobalEditor.cpp b/Source/GlobalEditor.cpp index 7cc670d..f014ee6 100644 --- a/Source/GlobalEditor.cpp +++ b/Source/GlobalEditor.cpp @@ -72,11 +72,26 @@ GlobalEditor::GlobalEditor () lfoDelay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); lfoDelay->addListener (this); + addAndMakeVisible (cutoff = new Slider ("cutoff")); + cutoff->setRange (0, 10, 0); + cutoff->setSliderStyle (Slider::Rotary); + cutoff->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + cutoff->addListener (this); + + addAndMakeVisible (reso = new Slider ("reso")); + reso->setRange (0, 10, 0); + reso->setSliderStyle (Slider::Rotary); + reso->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + reso->addListener (this); + + addAndMakeVisible (algoDisplay = new AlgoDisplay()); + algoDisplay->setName ("algoDisplay"); + //[UserPreSize] //[/UserPreSize] - setSize (250, 70); + setSize (855, 90); //[Constructor] You can add your own custom stuff here.. @@ -94,6 +109,9 @@ GlobalEditor::~GlobalEditor() lfoAmDepth = nullptr; lfoPitchDepth = nullptr; lfoDelay = nullptr; + cutoff = nullptr; + reso = nullptr; + algoDisplay = nullptr; //[Destructor]. You can add your own custom destruction code here.. @@ -112,12 +130,15 @@ void GlobalEditor::paint (Graphics& g) void GlobalEditor::resized() { - algo->setBounds (8, 8, 64, 24); - lfoType->setBounds (168, 24, 72, 16); - lfoSpeed->setBounds (80, 8, 23, 56); - lfoAmDepth->setBounds (216, 40, 32, 24); - lfoPitchDepth->setBounds (184, 40, 32, 24); - lfoDelay->setBounds (104, 8, 23, 56); + algo->setBounds (784, 48, 64, 24); + lfoType->setBounds (768, 8, 80, 16); + lfoSpeed->setBounds (712, 0, 23, 80); + lfoAmDepth->setBounds (816, 24, 32, 24); + lfoPitchDepth->setBounds (792, 24, 32, 24); + lfoDelay->setBounds (736, 0, 23, 80); + cutoff->setBounds (176, 40, 48, 48); + reso->setBounds (232, 40, 48, 48); + algoDisplay->setBounds (8, 8, 150, 72); //[UserResized] Add your own custom resize handling here.. //[/UserResized] } @@ -152,6 +173,16 @@ void GlobalEditor::sliderValueChanged (Slider* sliderThatWasMoved) //[UserSliderCode_lfoDelay] -- add your slider handling code here.. //[/UserSliderCode_lfoDelay] } + else if (sliderThatWasMoved == cutoff) + { + //[UserSliderCode_cutoff] -- add your slider handling code here.. + //[/UserSliderCode_cutoff] + } + else if (sliderThatWasMoved == reso) + { + //[UserSliderCode_reso] -- add your slider handling code here.. + //[/UserSliderCode_reso] + } //[UsersliderValueChanged_Post] //[/UsersliderValueChanged_Post] @@ -183,6 +214,7 @@ void GlobalEditor::bind(DexedAudioProcessor *parent) { parent->lfoWaveform->bind(lfoType); parent->lfoAmpDepth->bind(lfoAmDepth); parent->lfoPitchDepth->bind(lfoPitchDepth); + processor = parent; } //[/MiscUserCode] @@ -200,32 +232,43 @@ BEGIN_JUCER_METADATA + fixedSize="1" initialWidth="855" initialHeight="90"> + + + END_JUCER_METADATA diff --git a/Source/GlobalEditor.h b/Source/GlobalEditor.h index 855c4ef..2fb0c2f 100644 --- a/Source/GlobalEditor.h +++ b/Source/GlobalEditor.h @@ -23,6 +23,7 @@ //[Headers] -- You can add your own extra header files here -- #include "JuceHeader.h" #include "PluginProcessor.h" +#include "DXLookNFeel.h" //[/Headers] @@ -59,6 +60,7 @@ public: private: //[UserVariables] -- You can add your own custom variables in this section. + DexedAudioProcessor *processor; //[/UserVariables] //============================================================================== @@ -68,6 +70,9 @@ private: ScopedPointer lfoAmDepth; ScopedPointer lfoPitchDepth; ScopedPointer lfoDelay; + ScopedPointer cutoff; + ScopedPointer reso; + ScopedPointer algoDisplay; //============================================================================== diff --git a/Source/OperatorEditor.cpp b/Source/OperatorEditor.cpp index 5417cfd..6bd0e20 100644 --- a/Source/OperatorEditor.cpp +++ b/Source/OperatorEditor.cpp @@ -35,9 +35,6 @@ OperatorEditor::OperatorEditor () s_egl1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); s_egl1->addListener (this); - addAndMakeVisible (toggleButton = new ToggleButton ("new toggle button")); - toggleButton->setButtonText (String::empty); - addAndMakeVisible (s_egl2 = new Slider ("egl2")); s_egl2->setRange (0, 99, 1); s_egl2->setSliderStyle (Slider::Rotary); @@ -119,13 +116,18 @@ OperatorEditor::OperatorEditor () gain->setRange (0, 1, 0); gain->setSliderStyle (Slider::LinearVertical); gain->setTextBoxStyle (Slider::NoTextBox, true, 80, 20); + gain->setColour (Slider::thumbColourId, Colours::black); + gain->setColour (Slider::trackColourId, Colour (0x00ffffff)); + gain->setColour (Slider::rotarySliderFillColourId, Colour (0x000000ff)); + gain->setColour (Slider::textBoxBackgroundColourId, Colours::white); gain->addListener (this); addAndMakeVisible (khzDisplay = new Label ("khz", "1,000 kHz")); - khzDisplay->setFont (Font (16.60f, Font::plain)); + khzDisplay->setFont (Font (11.00f, Font::plain)); khzDisplay->setJustificationType (Justification::centred); khzDisplay->setEditable (false, false, false); + khzDisplay->setColour (Label::backgroundColourId, Colour (0x6a000000)); khzDisplay->setColour (Label::outlineColourId, Colour (0x00000000)); khzDisplay->setColour (TextEditor::textColourId, Colours::black); khzDisplay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); @@ -136,14 +138,87 @@ OperatorEditor::OperatorEditor () detune->setTextBoxStyle (Slider::NoTextBox, true, 80, 20); detune->addListener (this); + addAndMakeVisible (envDisplay = new EnvDisplay()); + envDisplay->setName ("envDisplay"); + + addAndMakeVisible (sclLeftLevel = new Slider ("sclLeftLevel")); + sclLeftLevel->setTooltip ("Keyboard Scale Level Left Depth "); + sclLeftLevel->setRange (0, 99, 1); + sclLeftLevel->setSliderStyle (Slider::Rotary); + sclLeftLevel->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + sclLeftLevel->addListener (this); + + addAndMakeVisible (sclRightLevel = new Slider ("sclRightLevel")); + sclRightLevel->setTooltip ("Keyboard Scale Level Right Depth "); + sclRightLevel->setRange (0, 99, 1); + sclRightLevel->setSliderStyle (Slider::Rotary); + sclRightLevel->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + sclRightLevel->addListener (this); + + addAndMakeVisible (kbdLeftCurve = new ComboBox ("kbdLeftCurve")); + kbdLeftCurve->setEditableText (false); + kbdLeftCurve->setJustificationType (Justification::centredLeft); + kbdLeftCurve->setTextWhenNothingSelected (String::empty); + kbdLeftCurve->setTextWhenNoChoicesAvailable ("(no choices)"); + kbdLeftCurve->addItem ("-LN", 1); + kbdLeftCurve->addItem ("-EX", 2); + kbdLeftCurve->addItem ("+EX", 3); + kbdLeftCurve->addItem ("+LN", 4); + kbdLeftCurve->addListener (this); + + addAndMakeVisible (kbdRightCurve = new ComboBox ("kbdRightCurve")); + kbdRightCurve->setEditableText (false); + kbdRightCurve->setJustificationType (Justification::centredLeft); + kbdRightCurve->setTextWhenNothingSelected (String::empty); + kbdRightCurve->setTextWhenNoChoicesAvailable ("(no choices)"); + kbdRightCurve->addItem ("-LN", 1); + kbdRightCurve->addItem ("-EX", 2); + kbdRightCurve->addItem ("+EX", 3); + kbdRightCurve->addItem ("+LN", 4); + kbdRightCurve->addListener (this); + + addAndMakeVisible (sclLvlBrkPt = new Slider ("sclLvlBrkPt")); + sclLvlBrkPt->setTooltip ("Scale Level Breakpoint"); + sclLvlBrkPt->setRange (0, 99, 1); + sclLvlBrkPt->setSliderStyle (Slider::Rotary); + sclLvlBrkPt->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + sclLvlBrkPt->addListener (this); + + addAndMakeVisible (sclRateScaling = new Slider ("sclRateScaling")); + sclRateScaling->setTooltip ("Keyboard Rate Scaling"); + sclRateScaling->setRange (0, 7, 1); + sclRateScaling->setSliderStyle (Slider::Rotary); + sclRateScaling->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + sclRateScaling->addListener (this); + + addAndMakeVisible (keyVelSens = new Slider ("keyVelSens")); + keyVelSens->setRange (0, 7, 1); + keyVelSens->setSliderStyle (Slider::Rotary); + keyVelSens->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + keyVelSens->addListener (this); + + addAndMakeVisible (ampModSens = new Slider ("ampModSens")); + ampModSens->setRange (0, 4, 1); + ampModSens->setSliderStyle (Slider::Rotary); + ampModSens->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); + ampModSens->addListener (this); + //[UserPreSize] //[/UserPreSize] - setSize (250, 70); + setSize (280, 90); //[Constructor] You can add your own custom stuff here.. + envDisplay->s_rate[0] = s_egv1; + envDisplay->s_rate[1] = s_egv2; + envDisplay->s_rate[2] = s_egv3; + envDisplay->s_rate[3] = s_egv4; + envDisplay->s_level[0] = s_egl1; + envDisplay->s_level[1] = s_egl2; + envDisplay->s_level[2] = s_egl3; + envDisplay->s_level[3] = s_egl4; //[/Constructor] } @@ -153,7 +228,6 @@ OperatorEditor::~OperatorEditor() //[/Destructor_pre] s_egl1 = nullptr; - toggleButton = nullptr; s_egl2 = nullptr; s_egl3 = nullptr; s_egl4 = nullptr; @@ -169,6 +243,15 @@ OperatorEditor::~OperatorEditor() gain = nullptr; khzDisplay = nullptr; detune = nullptr; + envDisplay = nullptr; + sclLeftLevel = nullptr; + sclRightLevel = nullptr; + kbdLeftCurve = nullptr; + kbdRightCurve = nullptr; + sclLvlBrkPt = nullptr; + sclRateScaling = nullptr; + keyVelSens = nullptr; + ampModSens = nullptr; //[Destructor]. You can add your own custom destruction code here.. @@ -187,23 +270,31 @@ void OperatorEditor::paint (Graphics& g) void OperatorEditor::resized() { - s_egl1->setBounds (128, 8, 24, 24); - toggleButton->setBounds (-8, 56, 24, 24); - s_egl2->setBounds (152, 8, 24, 24); - s_egl3->setBounds (176, 8, 24, 24); - s_egl4->setBounds (200, 8, 24, 24); - s_egv1->setBounds (128, 40, 24, 24); - s_egv2->setBounds (152, 40, 24, 24); - s_egv3->setBounds (176, 40, 24, 24); - s_egv4->setBounds (200, 40, 24, 24); - opMode->setBounds (40, 48, 80, 16); + s_egl1->setBounds (136, 40, 24, 24); + s_egl2->setBounds (160, 40, 24, 24); + s_egl3->setBounds (184, 40, 24, 24); + s_egl4->setBounds (208, 40, 24, 24); + s_egv1->setBounds (136, 64, 24, 24); + s_egv2->setBounds (160, 64, 24, 24); + s_egv3->setBounds (184, 64, 24, 24); + s_egv4->setBounds (208, 64, 24, 24); + opMode->setBounds (24, 48, 104, 16); opId->setBounds (0, 0, 24, 16); - opLevel->setBounds (0, 32, 32, 40); - opFine->setBounds (96, 24, 24, 24); - opCoarse->setBounds (72, 24, 24, 24); - gain->setBounds (224, 0, 24, 64); - khzDisplay->setBounds (8, 8, 112, 16); - detune->setBounds (32, 24, 40, 24); + opLevel->setBounds (232, 56, 32, 32); + opFine->setBounds (104, 24, 24, 24); + opCoarse->setBounds (80, 24, 24, 24); + gain->setBounds (260, 0, 24, 88); + khzDisplay->setBounds (32, 8, 88, 16); + detune->setBounds (24, 24, 56, 24); + envDisplay->setBounds (136, 5, 96, 32); + sclLeftLevel->setBounds (0, 64, 24, 24); + sclRightLevel->setBounds (64, 64, 24, 24); + kbdLeftCurve->setBounds (24, 68, 40, 16); + kbdRightCurve->setBounds (88, 68, 40, 16); + sclLvlBrkPt->setBounds (0, 40, 24, 24); + sclRateScaling->setBounds (0, 16, 24, 24); + keyVelSens->setBounds (240, 24, 24, 24); + ampModSens->setBounds (240, 0, 24, 24); //[UserResized] Add your own custom resize handling here.. //[/UserResized] } @@ -211,6 +302,7 @@ void OperatorEditor::resized() void OperatorEditor::sliderValueChanged (Slider* sliderThatWasMoved) { //[UsersliderValueChanged_Pre] + envDisplay->repaint(); //[/UsersliderValueChanged_Pre] if (sliderThatWasMoved == s_egl1) @@ -261,13 +353,13 @@ void OperatorEditor::sliderValueChanged (Slider* sliderThatWasMoved) else if (sliderThatWasMoved == opFine) { //[UserSliderCode_opFine] -- add your slider handling code here.. - updateFreqDisplay(); + updateDisplay(); //[/UserSliderCode_opFine] } else if (sliderThatWasMoved == opCoarse) { //[UserSliderCode_opCoarse] -- add your slider handling code here.. - updateFreqDisplay(); + updateDisplay(); //[/UserSliderCode_opCoarse] } else if (sliderThatWasMoved == gain) @@ -278,9 +370,39 @@ void OperatorEditor::sliderValueChanged (Slider* sliderThatWasMoved) else if (sliderThatWasMoved == detune) { //[UserSliderCode_detune] -- add your slider handling code here.. - updateFreqDisplay(); + updateDisplay(); //[/UserSliderCode_detune] } + else if (sliderThatWasMoved == sclLeftLevel) + { + //[UserSliderCode_sclLeftLevel] -- add your slider handling code here.. + //[/UserSliderCode_sclLeftLevel] + } + else if (sliderThatWasMoved == sclRightLevel) + { + //[UserSliderCode_sclRightLevel] -- add your slider handling code here.. + //[/UserSliderCode_sclRightLevel] + } + else if (sliderThatWasMoved == sclLvlBrkPt) + { + //[UserSliderCode_sclLvlBrkPt] -- add your slider handling code here.. + //[/UserSliderCode_sclLvlBrkPt] + } + else if (sliderThatWasMoved == sclRateScaling) + { + //[UserSliderCode_sclRateScaling] -- add your slider handling code here.. + //[/UserSliderCode_sclRateScaling] + } + else if (sliderThatWasMoved == keyVelSens) + { + //[UserSliderCode_keyVelSens] -- add your slider handling code here.. + //[/UserSliderCode_keyVelSens] + } + else if (sliderThatWasMoved == ampModSens) + { + //[UserSliderCode_ampModSens] -- add your slider handling code here.. + //[/UserSliderCode_ampModSens] + } //[UsersliderValueChanged_Post] //[/UsersliderValueChanged_Post] @@ -294,9 +416,19 @@ void OperatorEditor::comboBoxChanged (ComboBox* comboBoxThatHasChanged) if (comboBoxThatHasChanged == opMode) { //[UserComboBoxCode_opMode] -- add your combo box handling code here.. - updateFreqDisplay(); + updateDisplay(); //[/UserComboBoxCode_opMode] } + else if (comboBoxThatHasChanged == kbdLeftCurve) + { + //[UserComboBoxCode_kbdLeftCurve] -- add your combo box handling code here.. + //[/UserComboBoxCode_kbdLeftCurve] + } + else if (comboBoxThatHasChanged == kbdRightCurve) + { + //[UserComboBoxCode_kbdRightCurve] -- add your combo box handling code here.. + //[/UserComboBoxCode_kbdRightCurve] + } //[UsercomboBoxChanged_Post] //[/UsercomboBoxChanged_Post] @@ -307,12 +439,6 @@ void OperatorEditor::comboBoxChanged (ComboBox* comboBoxThatHasChanged) //[MiscUserCode] You can add your own definitions of your custom methods or any other code here... void OperatorEditor::bind(DexedAudioProcessor *parent, int op) { int targetNum = op+1; - - op=5-op; - String text = "op"; - text << "OP"; - text << targetNum; - String opName; opName << "OP" << targetNum; @@ -331,6 +457,11 @@ void OperatorEditor::bind(DexedAudioProcessor *parent, int op) { parent->opCtrl[op].fine->bind(opFine); parent->opCtrl[op].coarse->bind(opCoarse); parent->opCtrl[op].detune->bind(detune); + parent->opCtrl[op].sclBrkPt->bind(sclLvlBrkPt); + parent->opCtrl[op].sclLeftCurve->bind(kbdLeftCurve); + parent->opCtrl[op].sclRightCurve->bind(kbdRightCurve); + parent->opCtrl[op].sclLeftDepth->bind(sclLeftLevel); + parent->opCtrl[op].sclRightDepth->bind(sclRightLevel); } @@ -338,7 +469,8 @@ void OperatorEditor::updateGain(float v) { gain->setValue(v); } -void OperatorEditor::updateFreqDisplay() { + +void OperatorEditor::updateDisplay() { float freq = opCoarse->getValue(); float fine = opFine->getValue(); String txtFreq; @@ -361,6 +493,12 @@ void OperatorEditor::updateFreqDisplay() { txtFreq << " " << det; } khzDisplay->setText(txtFreq, NotificationType::dontSendNotification); + + envDisplay->repaint(); +} + +void OperatorEditor::updateEnv() { + //envDisplay->update(s_) } //[/MiscUserCode] @@ -377,45 +515,42 @@ BEGIN_JUCER_METADATA + fixedSize="1" initialWidth="280" initialHeight="90"> - END_JUCER_METADATA diff --git a/Source/OperatorEditor.h b/Source/OperatorEditor.h index 0636cd3..a75f24d 100644 --- a/Source/OperatorEditor.h +++ b/Source/OperatorEditor.h @@ -23,6 +23,7 @@ //[Headers] -- You can add your own extra header files here -- #include "JuceHeader.h" #include "PluginProcessor.h" +#include "DXLookNFeel.h" //[/Headers] @@ -49,7 +50,8 @@ public: void bind(DexedAudioProcessor *processor, int num); void updateGain(float v); - void updateFreqDisplay(); + void updateDisplay(); + void updateEnv(); //[/UserMethods] void paint (Graphics& g); @@ -65,7 +67,6 @@ private: //============================================================================== ScopedPointer s_egl1; - ScopedPointer toggleButton; ScopedPointer s_egl2; ScopedPointer s_egl3; ScopedPointer s_egl4; @@ -81,6 +82,15 @@ private: ScopedPointer gain; ScopedPointer