diff --git a/examples/MidiTest/Builds/Android/AndroidManifest.xml b/examples/MidiTest/Builds/Android/AndroidManifest.xml
index e28c0e0f9d..657fec4506 100644
--- a/examples/MidiTest/Builds/Android/AndroidManifest.xml
+++ b/examples/MidiTest/Builds/Android/AndroidManifest.xml
@@ -4,6 +4,7 @@
package="com.yourcompany.miditest">
+
diff --git a/examples/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj b/examples/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
index 71d35af900..2ac96c1861 100644
--- a/examples/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
+++ b/examples/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
@@ -30,7 +30,7 @@
Optimization="0"
BufferSecurityCheck=""
DebugInformationFormat="4"
- AdditionalIncludeDirectories="..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK"
+ AdditionalIncludeDirectories="c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2008_78A5006=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
@@ -88,7 +88,7 @@
Optimization="3"
InlineFunctionExpansion="1"
StringPooling="true"
- AdditionalIncludeDirectories="..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK"
+ AdditionalIncludeDirectories="c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2008_78A5006=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
diff --git a/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj
index a671e3ccd8..aa456d70da 100644
--- a/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj
+++ b/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj
@@ -49,7 +49,7 @@
Disabled
EditAndContinue
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDebugDLL
true
@@ -94,7 +94,7 @@
Full
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDLL
true
diff --git a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj
index 90656e85ce..7ab20f107c 100644
--- a/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj
+++ b/examples/audio plugin demo/Builds/VisualStudio2013/JuceDemoPlugin.vcxproj
@@ -55,7 +55,7 @@
Disabled
EditAndContinue
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDebugDLL
true
@@ -100,7 +100,7 @@
Full
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDLL
true
diff --git a/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj
index 7a966306f4..30a373753a 100644
--- a/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj
+++ b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj
@@ -49,7 +49,7 @@
Disabled
EditAndContinue
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDebug
true
@@ -90,7 +90,7 @@
MinSpace
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreaded
true
diff --git a/examples/audio plugin host/Builds/VisualStudio2012/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2012/Plugin Host.vcxproj
index 7fad7fd8a0..3b6939a2c6 100644
--- a/examples/audio plugin host/Builds/VisualStudio2012/Plugin Host.vcxproj
+++ b/examples/audio plugin host/Builds/VisualStudio2012/Plugin Host.vcxproj
@@ -55,7 +55,7 @@
Disabled
EditAndContinue
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2012_78A501F=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDebug
true
@@ -96,7 +96,7 @@
Full
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2012_78A501F=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreaded
true
diff --git a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj
index 88e16c5665..e79236f24a 100644
--- a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj
+++ b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj
@@ -55,7 +55,7 @@
Disabled
EditAndContinue
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDebug
true
@@ -96,7 +96,7 @@
Full
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreaded
true
diff --git a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj
index 4fb8c8a83f..d120780cbe 100644
--- a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj
+++ b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj
@@ -55,7 +55,7 @@
Disabled
EditAndContinue
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreadedDebug
true
@@ -96,7 +96,7 @@
Full
- ..\..\JuceLibraryCode;..\..\..\..\modules;c:\SDKs\VST3 SDK;%(AdditionalIncludeDirectories)
+ c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)
_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)
MultiThreaded
true
diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp
index d19aa817b0..d84fbfb0b4 100644
--- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp
+++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp
@@ -311,12 +311,14 @@ Project::Item& ProjectExporter::getModulesGroup()
return *modulesGroup;
}
-void ProjectExporter::addToExtraSearchPaths (const RelativePath& pathFromProjectFolder)
+void ProjectExporter::addToExtraSearchPaths (const RelativePath& pathFromProjectFolder, int index)
{
RelativePath localPath (rebaseFromProjectFolderToBuildTarget (pathFromProjectFolder));
const String path (isVisualStudio() ? localPath.toWindowsStyle() : localPath.toUnixStyle());
- extraSearchPaths.addIfNotAlreadyThere (path, false);
+
+ if (! extraSearchPaths.contains (path))
+ extraSearchPaths.insert (index, path);
}
Value ProjectExporter::getPathForModuleValue (const String& moduleID)
diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h
index eef60d9a31..4d2a43d965 100644
--- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h
+++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h
@@ -135,7 +135,7 @@ public:
void updateOldModulePaths();
RelativePath rebaseFromProjectFolderToBuildTarget (const RelativePath& path) const;
- void addToExtraSearchPaths (const RelativePath& pathFromProjectFolder);
+ void addToExtraSearchPaths (const RelativePath& pathFromProjectFolder, int index = -1);
Value getBigIconImageItemID() { return getSetting (Ids::bigIcon); }
Value getSmallIconImageItemID() { return getSetting (Ids::smallIcon); }
diff --git a/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h b/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h
index 0fc1ac4e10..922abecb40 100644
--- a/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h
+++ b/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h
@@ -232,14 +232,7 @@ namespace VSTHelpers
const String vstFolder (exporter.getVSTPathValue (isVST3).toString());
if (vstFolder.isNotEmpty())
- {
- RelativePath path (exporter.rebaseFromProjectFolderToBuildTarget (RelativePath (vstFolder, RelativePath::projectFolder)));
-
- if (exporter.isVisualStudio())
- exporter.extraSearchPaths.add (path.toWindowsStyle());
- else if (exporter.isLinux() || exporter.isXcode())
- exporter.extraSearchPaths.insert (0, path.toUnixStyle());
- }
+ exporter.addToExtraSearchPaths (RelativePath (vstFolder, RelativePath::projectFolder), 0);
}
static void createVSTPathEditor (ProjectExporter& exporter, PropertyListBuilder& props, bool isVST3)
@@ -261,16 +254,8 @@ namespace VSTHelpers
Project::Item group (Project::Item::createGroup (const_cast (exporter).getProject(),
"Juce VST Wrapper", "__jucevstfiles"));
- RelativePath juceWrapperFolder (exporter.getProject().getGeneratedCodeFolder(),
- exporter.getTargetFolder(), RelativePath::buildTargetFolder);
-
addVSTFolderToPath (exporter, isVST3);
- if (exporter.isWindows())
- exporter.extraSearchPaths.add (juceWrapperFolder.toWindowsStyle());
- else if (exporter.isLinux())
- exporter.extraSearchPaths.add (juceWrapperFolder.toUnixStyle());
-
if (exporter.isVisualStudio())
{
if (! exporter.getExtraLinkerFlagsString().contains ("/FORCE:multiple"))
diff --git a/extras/Introjucer/Source/Utility/jucer_CodeHelpers.cpp b/extras/Introjucer/Source/Utility/jucer_CodeHelpers.cpp
index 7ba1299cbf..3a428a4ded 100644
--- a/extras/Introjucer/Source/Utility/jucer_CodeHelpers.cpp
+++ b/extras/Introjucer/Source/Utility/jucer_CodeHelpers.cpp
@@ -134,7 +134,7 @@ namespace CodeHelpers
String stringLiteral (const String& text, int maxLineLength)
{
if (text.isEmpty())
- return "String::empty";
+ return "String()";
StringArray lines;