diff --git a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
index 6a63a1c9cf..3d0005c795 100644
--- a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
+++ b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
@@ -449,14 +449,19 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"
- "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h"
"../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"
"../../../../../modules/juce_audio_processors/juce_audio_processors.mm"
@@ -2042,14 +2047,19 @@ set_source_files_properties("../../../../../modules/juce_audio_processors/scanni
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj
index 38be3c930d..ad819d251e 100644
--- a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj
@@ -609,12 +609,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters
index f2a66ca4e7..7e707f7f70 100644
--- a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters
@@ -1024,12 +1024,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj
index 67bd3fe694..045188df39 100644
--- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj
@@ -609,12 +609,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters
index f00443af0f..d56d3ebce6 100644
--- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters
@@ -1024,12 +1024,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj
index fee446664a..779b324e18 100644
--- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj
@@ -611,12 +611,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters
index cc4849e99f..deed83a32d 100644
--- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters
@@ -1024,12 +1024,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
index c32d7a92f8..99d92958c1 100644
--- a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
+++ b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
@@ -430,14 +430,19 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"
- "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h"
"../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"
"../../../../../modules/juce_audio_processors/juce_audio_processors.mm"
@@ -1710,14 +1715,19 @@ set_source_files_properties("../../../../../modules/juce_audio_processors/scanni
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj
index 6c2d661932..f0dbe4f361 100644
--- a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj
+++ b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj
@@ -592,12 +592,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters
index 91e7e2154a..557ea85669 100644
--- a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters
+++ b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters
@@ -856,12 +856,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt
index 06ee3535ce..f170e3a238 100644
--- a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt
+++ b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt
@@ -447,14 +447,19 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"
- "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h"
"../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"
"../../../../../modules/juce_audio_processors/juce_audio_processors.mm"
@@ -1800,14 +1805,19 @@ set_source_files_properties("../../../../../modules/juce_audio_processors/scanni
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj
index 3504181c66..341c261b17 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj
+++ b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj
@@ -599,12 +599,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters
index 247ea5cca4..3b69472826 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters
+++ b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters
@@ -913,12 +913,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj
index 0bde3a202a..c9de32b756 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj
+++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj
@@ -597,12 +597,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters
index 839d5518eb..36fa4e01c8 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters
+++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters
@@ -913,12 +913,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj
index 95701acc4b..d08e0d7699 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj
+++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj
@@ -599,12 +599,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters
index d4f1a2a450..71f3db5c6c 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters
+++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters
@@ -913,12 +913,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
index 29b2700a71..2ca53bb364 100644
--- a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
+++ b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
@@ -434,14 +434,19 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"
"../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"
- "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"
+ "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"
+ "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp"
"../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h"
"../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"
"../../../../../modules/juce_audio_processors/juce_audio_processors.mm"
@@ -1789,14 +1794,19 @@ set_source_files_properties("../../../../../modules/juce_audio_processors/scanni
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj
index 4c77aa4d9f..01845483cb 100644
--- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj
+++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj
@@ -592,12 +592,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters
index b5bf744fcc..a915a7d028 100644
--- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters
+++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters
@@ -886,12 +886,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj
index 3ebd68494a..ee7e5b09d8 100644
--- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj
+++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj
@@ -592,12 +592,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters
index 6ba32e712b..64ab694519 100644
--- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters
+++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters
@@ -886,12 +886,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
index 2e96a94ebb..146b188c5d 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
+++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
@@ -608,12 +608,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
index 10d1d479b7..d21136ed3d 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
+++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
@@ -973,12 +973,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors
diff --git a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj
index 6c211e0c05..4f2bf0e17a 100644
--- a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj
+++ b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj
@@ -591,12 +591,27 @@
true
-
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
true
true
+
+ true
+
true
diff --git a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters
index f5e0f38db5..546aded874 100644
--- a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters
+++ b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters
@@ -883,12 +883,27 @@
JUCE Modules\juce_audio_processors\scanning
-
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
+ JUCE Modules\juce_audio_processors\utilities
+
+
JUCE Modules\juce_audio_processors\utilities
JUCE Modules\juce_audio_processors\utilities
+
+ JUCE Modules\juce_audio_processors\utilities
+
JUCE Modules\juce_audio_processors