1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Serialisation: Add basic utilities to facilitate conversion to/from JSON with minimal boilerplate

This commit is contained in:
reuk 2023-08-25 13:19:22 +01:00
parent 1bc90055b9
commit 56195d1053
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
48 changed files with 2057 additions and 28 deletions

View file

@ -353,6 +353,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -1600,7 +1603,9 @@
</ClCompile>
<ClCompile Include="..\..\JuceLibraryCode\BinaryData.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_build_tools.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_core.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_core.cpp">
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_cryptography.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_data_structures.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_events.cpp"/>
@ -1815,6 +1820,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>
@ -1864,6 +1870,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_Socket.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_URL.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_WebInputStream.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\serialisation\juce_Serialisation.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_AndroidDocumentInputSource.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>

View file

@ -119,6 +119,9 @@
<Filter Include="JUCE Modules\juce_core\network">
<UniqueIdentifier>{0F70B1A9-BB50-23F5-2AE7-F95E51A00389}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_core\serialisation">
<UniqueIdentifier>{D4D9BC01-0DED-2577-4B99-2FF7B9C7EF8A}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_core\streams">
<UniqueIdentifier>{D4C8DC40-2CD2-04B6-05D0-1E7A88841390}</UniqueIdentifier>
</Filter>
@ -631,6 +634,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation_test.cpp">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">
<Filter>JUCE Modules\juce_core\logging</Filter>
</ClCompile>
@ -2622,6 +2628,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.h">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation.h">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">
<Filter>JUCE Modules\juce_core\logging</Filter>
</ClInclude>
@ -2769,6 +2778,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_WebInputStream.h">
<Filter>JUCE Modules\juce_core\network</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\serialisation\juce_Serialisation.h">
<Filter>JUCE Modules\juce_core\serialisation</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_AndroidDocumentInputSource.h">
<Filter>JUCE Modules\juce_core\streams</Filter>
</ClInclude>

View file

@ -353,6 +353,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -1600,7 +1603,9 @@
</ClCompile>
<ClCompile Include="..\..\JuceLibraryCode\BinaryData.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_build_tools.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_core.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_core.cpp">
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_cryptography.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_data_structures.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_events.cpp"/>
@ -1815,6 +1820,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>
@ -1864,6 +1870,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_Socket.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_URL.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_WebInputStream.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\serialisation\juce_Serialisation.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_AndroidDocumentInputSource.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>

View file

@ -119,6 +119,9 @@
<Filter Include="JUCE Modules\juce_core\network">
<UniqueIdentifier>{0F70B1A9-BB50-23F5-2AE7-F95E51A00389}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_core\serialisation">
<UniqueIdentifier>{D4D9BC01-0DED-2577-4B99-2FF7B9C7EF8A}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_core\streams">
<UniqueIdentifier>{D4C8DC40-2CD2-04B6-05D0-1E7A88841390}</UniqueIdentifier>
</Filter>
@ -631,6 +634,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation_test.cpp">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">
<Filter>JUCE Modules\juce_core\logging</Filter>
</ClCompile>
@ -2622,6 +2628,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.h">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation.h">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">
<Filter>JUCE Modules\juce_core\logging</Filter>
</ClInclude>
@ -2769,6 +2778,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_WebInputStream.h">
<Filter>JUCE Modules\juce_core\network</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\serialisation\juce_Serialisation.h">
<Filter>JUCE Modules\juce_core\serialisation</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_AndroidDocumentInputSource.h">
<Filter>JUCE Modules\juce_core\streams</Filter>
</ClInclude>

View file

@ -353,6 +353,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation_test.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
@ -1600,7 +1603,9 @@
</ClCompile>
<ClCompile Include="..\..\JuceLibraryCode\BinaryData.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_build_tools.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_core.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_core.cpp">
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_cryptography.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_data_structures.cpp"/>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_events.cpp"/>
@ -1815,6 +1820,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>
@ -1864,6 +1870,7 @@
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_Socket.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_URL.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_WebInputStream.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\serialisation\juce_Serialisation.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_AndroidDocumentInputSource.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>

View file

@ -119,6 +119,9 @@
<Filter Include="JUCE Modules\juce_core\network">
<UniqueIdentifier>{0F70B1A9-BB50-23F5-2AE7-F95E51A00389}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_core\serialisation">
<UniqueIdentifier>{D4D9BC01-0DED-2577-4B99-2FF7B9C7EF8A}</UniqueIdentifier>
</Filter>
<Filter Include="JUCE Modules\juce_core\streams">
<UniqueIdentifier>{D4C8DC40-2CD2-04B6-05D0-1E7A88841390}</UniqueIdentifier>
</Filter>
@ -631,6 +634,9 @@
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation_test.cpp">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">
<Filter>JUCE Modules\juce_core\logging</Filter>
</ClCompile>
@ -2622,6 +2628,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSON.h">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\javascript\juce_JSONSerialisation.h">
<Filter>JUCE Modules\juce_core\javascript</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">
<Filter>JUCE Modules\juce_core\logging</Filter>
</ClInclude>
@ -2769,6 +2778,9 @@
<ClInclude Include="..\..\..\..\modules\juce_core\network\juce_WebInputStream.h">
<Filter>JUCE Modules\juce_core\network</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\serialisation\juce_Serialisation.h">
<Filter>JUCE Modules\juce_core\serialisation</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_core\streams\juce_AndroidDocumentInputSource.h">
<Filter>JUCE Modules\juce_core\streams</Filter>
</ClInclude>

View file

@ -1908,7 +1908,8 @@ protected:
const auto name = path.getFileNameWithoutExtension();
return name.equalsIgnoreCase ("include_juce_gui_basics")
|| name.equalsIgnoreCase ("include_juce_audio_processors");
|| name.equalsIgnoreCase ("include_juce_audio_processors")
|| name.equalsIgnoreCase ("include_juce_core");
}
StringArray getModuleLibs() const