diff --git a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
index caa7c4a00d..e6fe569b59 100644
--- a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
+++ b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
@@ -527,6 +527,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt"
"../../../../../modules/juce_blocks_basics/topology/internal/juce_BandwidthStatsLogger.cpp"
"../../../../../modules/juce_blocks_basics/topology/internal/juce_BlockImplementation.cpp"
+ "../../../../../modules/juce_blocks_basics/topology/internal/juce_BlockSerialReader.cpp"
"../../../../../modules/juce_blocks_basics/topology/internal/juce_ConnectedDeviceGroup.cpp"
"../../../../../modules/juce_blocks_basics/topology/internal/juce_DepreciatedVersionReader.cpp"
"../../../../../modules/juce_blocks_basics/topology/internal/juce_Detector.cpp"
@@ -926,6 +927,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_data_structures/juce_data_structures.mm"
"../../../../../modules/juce_data_structures/juce_data_structures.h"
"../../../../../modules/juce_dsp/containers/juce_AudioBlock.h"
+ "../../../../../modules/juce_dsp/containers/juce_AudioBlock_test.cpp"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h"
"../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp"
@@ -2130,6 +2132,7 @@ set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/
set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_BandwidthStatsLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_BlockImplementation.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_BlockSerialReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_ConnectedDeviceGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_DepreciatedVersionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_Detector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2529,6 +2532,7 @@ set_source_files_properties("../../../../../modules/juce_data_structures/juce_da
set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_AudioBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_AudioBlock_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj
index e324a45ec2..9b652cfe96 100644
--- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj
@@ -695,6 +695,9 @@
true
+
+ true
+
true
@@ -1226,6 +1229,9 @@
true
+
+ true
+
true
diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters
index 9a2e0bc092..d669b59020 100644
--- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters
@@ -1126,6 +1126,9 @@
JUCE Modules\juce_blocks_basics\topology\internal
+
+ JUCE Modules\juce_blocks_basics\topology\internal
+
JUCE Modules\juce_blocks_basics\topology\internal
@@ -1681,6 +1684,9 @@
JUCE Modules\juce_data_structures
+
+ JUCE Modules\juce_dsp\containers
+
JUCE Modules\juce_dsp\containers
diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj
index 040005b86b..14a474eb93 100644
--- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj
@@ -695,6 +695,9 @@
true
+
+ true
+
true
@@ -1226,6 +1229,9 @@
true
+
+ true
+
true
diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters
index 2ffed545fe..1c01ce48da 100644
--- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters
@@ -1126,6 +1126,9 @@
JUCE Modules\juce_blocks_basics\topology\internal
+
+ JUCE Modules\juce_blocks_basics\topology\internal
+
JUCE Modules\juce_blocks_basics\topology\internal
@@ -1681,6 +1684,9 @@
JUCE Modules\juce_data_structures
+
+ JUCE Modules\juce_dsp\containers
+
JUCE Modules\juce_dsp\containers
diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj
index abf67e40dc..42360318a9 100644
--- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj
@@ -695,6 +695,9 @@
true
+
+ true
+
true
@@ -1226,6 +1229,9 @@
true
+
+ true
+
true
diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters
index 2bcd62786c..71680ce404 100644
--- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters
@@ -1126,6 +1126,9 @@
JUCE Modules\juce_blocks_basics\topology\internal
+
+ JUCE Modules\juce_blocks_basics\topology\internal
+
JUCE Modules\juce_blocks_basics\topology\internal
@@ -1681,6 +1684,9 @@
JUCE Modules\juce_data_structures
+
+ JUCE Modules\juce_dsp\containers
+
JUCE Modules\juce_dsp\containers
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
index 6dafd30d38..b6d6721d06 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
+++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
@@ -692,6 +692,9 @@
true
+
+ true
+
true
@@ -1082,6 +1085,9 @@
true
+
+ true
+
true
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
index 8a3ee6eca5..40c5b96d75 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
+++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
@@ -1075,6 +1075,9 @@
JUCE Modules\juce_blocks_basics\topology\internal
+
+ JUCE Modules\juce_blocks_basics\topology\internal
+
JUCE Modules\juce_blocks_basics\topology\internal
@@ -1489,6 +1492,9 @@
JUCE Modules\juce_data_structures
+
+ JUCE Modules\juce_dsp\containers
+
JUCE Modules\juce_dsp\containers
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj
index 9b33ada2a0..8fda398210 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj
+++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj
@@ -692,6 +692,9 @@
true
+
+ true
+
true
@@ -1082,6 +1085,9 @@
true
+
+ true
+
true
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters
index 7b2bfeee6f..473a89cd40 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters
+++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters
@@ -1075,6 +1075,9 @@
JUCE Modules\juce_blocks_basics\topology\internal
+
+ JUCE Modules\juce_blocks_basics\topology\internal
+
JUCE Modules\juce_blocks_basics\topology\internal
@@ -1489,6 +1492,9 @@
JUCE Modules\juce_data_structures
+
+ JUCE Modules\juce_dsp\containers
+
JUCE Modules\juce_dsp\containers