diff --git a/Juce.jucer b/Juce.jucer
index 3bb29a41f3..78ba86c6f6 100644
--- a/Juce.jucer
+++ b/Juce.jucer
@@ -225,46 +225,46 @@
+ file="src/audio/plugin_client/AU/juce_AU_Wrapper.mm"/>
+ file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode_Header.h"/>
+ file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"/>
+ file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"/>
+ file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode3.cpp"/>
+ file="src/audio/plugin_client/RTAS/juce_RTAS_MacUtilities.mm"/>
+ file="src/audio/plugin_client/RTAS/juce_RTAS_WinUtilities.cpp"/>
+ file="src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp"/>
+ file="src/audio/plugin_client/VST/juce_VST_Wrapper.cpp"/>
+ file="src/audio/plugin_client/VST/juce_VST_Wrapper.mm"/>
+ resource="0" file="src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.cpp"/>
+ file="src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.h"/>
+ resource="0" file="src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.cpp"/>
+ resource="0" file="src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.h"/>
+ resource="0" file="src/audio/plugin_client/juce_IncludeCharacteristics.h"/>
+ file="src/audio/plugin_client/juce_PluginHeaders.h"/>
+ file="src/audio/plugin_client/juce_PluginHostType.h"/>
diff --git a/extras/Introjucer/Source/Application/jucer_CommonHeaders.h b/extras/Introjucer/Source/Application/jucer_CommonHeaders.h
index e2a1f94fd3..b8cd739ccd 100644
--- a/extras/Introjucer/Source/Application/jucer_CommonHeaders.h
+++ b/extras/Introjucer/Source/Application/jucer_CommonHeaders.h
@@ -44,9 +44,13 @@ const char* const projectItemDragType = "Project Items";
const char* const drawableItemDragType = "Drawable Items";
const char* const componentItemDragType = "Components";
-const char* const sourceFileExtensions = "cpp;mm;m;c;cc;cxx";
-const char* const headerFileExtensions = "h;hpp;hxx";
-const char* const sourceOrHeaderFileExtensions = "cpp;mm;m;c;cc;cxx;h;hpp;hxx";
+const char* const sourceFileExtensions = "cpp;mm;m;c;cc;cxx";
+const char* const headerFileExtensions = "h;hpp;hxx";
+const char* const sourceOrHeaderFileExtensions = "cpp;mm;m;c;cc;cxx;h;hpp;hxx";
+#define JUCE_PLUGINS_ROOT "src/audio/plugin_client/"
+#define JUCE_PLUGINS_PATH_VST JUCE_PLUGINS_ROOT "VST/"
+#define JUCE_PLUGINS_PATH_RTAS JUCE_PLUGINS_ROOT "RTAS/"
+#define JUCE_PLUGINS_PATH_AU JUCE_PLUGINS_ROOT "AU/"
#endif
\ No newline at end of file
diff --git a/extras/Introjucer/Source/Project/jucer_ProjectExport_MSVC.h b/extras/Introjucer/Source/Project/jucer_ProjectExport_MSVC.h
index b1f1c4ee69..a6687ec584 100644
--- a/extras/Introjucer/Source/Project/jucer_ProjectExport_MSVC.h
+++ b/extras/Introjucer/Source/Project/jucer_ProjectExport_MSVC.h
@@ -91,12 +91,12 @@ protected:
if (isRTAS())
{
- static const char* files[] = { "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_WinUtilities.cpp",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp" };
+ static const char* files[] = { JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode1.cpp",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode2.cpp",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode3.cpp",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode_Header.h",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_WinUtilities.cpp",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_Wrapper.cpp" };
for (int i = 0; i < numElementsInArray (files); ++i)
s.add (getJucePathFromTargetFolder().getChildFile (files[i]));
@@ -614,7 +614,7 @@ protected:
if (isRTAS())
{
- RelativePath rsrFile (getJucePathFromTargetFolder().getChildFile ("extras/audio plugins/wrapper/RTAS/juce_RTAS_WinResources.rsr"));
+ RelativePath rsrFile (getJucePathFromTargetFolder().getChildFile (JUCE_PLUGINS_PATH_RTAS "juce_RTAS_WinResources.rsr"));
customBuild->setAttribute ("CommandLine", "copy /Y \"" + rsrFile.toWindowsStyle() + "\" \"$(TargetPath)\".rsr");
customBuild->setAttribute ("Outputs", "\"$(TargetPath)\".rsr");
@@ -711,7 +711,7 @@ protected:
extraLinkerOptions += " /FORCE:multiple";
linker->setAttribute ("DelayLoadDLLs", "DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; DSPManager.dll");
linker->setAttribute ("ModuleDefinitionFile", getJucePathFromTargetFolder()
- .getChildFile ("extras/audio plugins/wrapper/RTAS/juce_RTAS_WinExports.def")
+ .getChildFile (JUCE_PLUGINS_PATH_RTAS "juce_RTAS_WinExports.def")
.toWindowsStyle());
}
diff --git a/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h b/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h
index be2c0b38ca..3265cafd27 100644
--- a/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h
+++ b/extras/Introjucer/Source/Project/jucer_ProjectExport_XCode.h
@@ -1101,13 +1101,13 @@ private:
Array s;
if (isRTAS())
{
- const char* files[] = { "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_MacResources.r",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_MacUtilities.mm",
- "extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp" };
+ const char* files[] = { JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode1.cpp",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode2.cpp",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode3.cpp",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_DigiCode_Header.h",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_MacResources.r",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_MacUtilities.mm",
+ JUCE_PLUGINS_PATH_RTAS "juce_RTAS_Wrapper.cpp" };
for (int i = 0; i < numElementsInArray (files); ++i)
s.add (getJucePathFromTargetFolder().getChildFile (files[i]));
@@ -1120,8 +1120,8 @@ private:
{
Array auWrappers;
- const char* files[] = { "extras/audio plugins/wrapper/AU/juce_AU_Resources.r",
- "extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm" };
+ const char* files[] = { JUCE_PLUGINS_PATH_AU "juce_AU_Resources.r",
+ JUCE_PLUGINS_PATH_AU "juce_AU_Wrapper.mm" };
int i;
for (i = 0; i < numElementsInArray (files); ++i)
auWrappers.add (getJucePathFromTargetFolder().getChildFile (files[i]));
diff --git a/extras/Introjucer/Source/Project/jucer_ProjectExporter.cpp b/extras/Introjucer/Source/Project/jucer_ProjectExporter.cpp
index 0e3664d9c5..dcb36a2758 100644
--- a/extras/Introjucer/Source/Project/jucer_ProjectExporter.cpp
+++ b/extras/Introjucer/Source/Project/jucer_ProjectExporter.cpp
@@ -194,8 +194,8 @@ const Array ProjectExporter::getVSTFilesRequired() const
Array s;
if (isVST())
{
- const char* files[] = { "extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp",
- "extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm" };
+ const char* files[] = { JUCE_PLUGINS_PATH_VST "juce_VST_Wrapper.cpp",
+ JUCE_PLUGINS_PATH_VST "juce_VST_Wrapper.mm" };
for (int i = 0; i < numElementsInArray (files); ++i)
s.add (getJucePathFromTargetFolder().getChildFile (files[i]));
diff --git a/extras/audio plugins/wrapper/AU/juce_AU_Resources.r b/src/audio/plugin_client/AU/juce_AU_Resources.r
similarity index 100%
rename from extras/audio plugins/wrapper/AU/juce_AU_Resources.r
rename to src/audio/plugin_client/AU/juce_AU_Resources.r
diff --git a/extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm b/src/audio/plugin_client/AU/juce_AU_Wrapper.mm
similarity index 100%
rename from extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm
rename to src/audio/plugin_client/AU/juce_AU_Wrapper.mm
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp b/src/audio/plugin_client/RTAS/juce_RTAS_DigiCode1.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp
rename to src/audio/plugin_client/RTAS/juce_RTAS_DigiCode1.cpp
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp b/src/audio/plugin_client/RTAS/juce_RTAS_DigiCode2.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp
rename to src/audio/plugin_client/RTAS/juce_RTAS_DigiCode2.cpp
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp b/src/audio/plugin_client/RTAS/juce_RTAS_DigiCode3.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp
rename to src/audio/plugin_client/RTAS/juce_RTAS_DigiCode3.cpp
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h b/src/audio/plugin_client/RTAS/juce_RTAS_DigiCode_Header.h
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h
rename to src/audio/plugin_client/RTAS/juce_RTAS_DigiCode_Header.h
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_MacResources.r b/src/audio/plugin_client/RTAS/juce_RTAS_MacResources.r
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_MacResources.r
rename to src/audio/plugin_client/RTAS/juce_RTAS_MacResources.r
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_MacUtilities.mm b/src/audio/plugin_client/RTAS/juce_RTAS_MacUtilities.mm
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_MacUtilities.mm
rename to src/audio/plugin_client/RTAS/juce_RTAS_MacUtilities.mm
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_WinExports.def b/src/audio/plugin_client/RTAS/juce_RTAS_WinExports.def
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_WinExports.def
rename to src/audio/plugin_client/RTAS/juce_RTAS_WinExports.def
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_WinResources.rsr b/src/audio/plugin_client/RTAS/juce_RTAS_WinResources.rsr
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_WinResources.rsr
rename to src/audio/plugin_client/RTAS/juce_RTAS_WinResources.rsr
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_WinUtilities.cpp b/src/audio/plugin_client/RTAS/juce_RTAS_WinUtilities.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_WinUtilities.cpp
rename to src/audio/plugin_client/RTAS/juce_RTAS_WinUtilities.cpp
diff --git a/extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp b/src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp
rename to src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp
diff --git a/extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.cpp b/src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.cpp
rename to src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.cpp
diff --git a/extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.h b/src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.h
similarity index 100%
rename from extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.h
rename to src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.h
diff --git a/extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.cpp b/src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.cpp
rename to src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.cpp
diff --git a/extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.h b/src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.h
similarity index 100%
rename from extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.h
rename to src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.h
diff --git a/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp b/src/audio/plugin_client/VST/juce_VST_Wrapper.cpp
similarity index 100%
rename from extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp
rename to src/audio/plugin_client/VST/juce_VST_Wrapper.cpp
diff --git a/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm b/src/audio/plugin_client/VST/juce_VST_Wrapper.mm
similarity index 100%
rename from extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm
rename to src/audio/plugin_client/VST/juce_VST_Wrapper.mm
diff --git a/extras/audio plugins/wrapper/juce_IncludeCharacteristics.h b/src/audio/plugin_client/juce_IncludeCharacteristics.h
similarity index 100%
rename from extras/audio plugins/wrapper/juce_IncludeCharacteristics.h
rename to src/audio/plugin_client/juce_IncludeCharacteristics.h
diff --git a/extras/audio plugins/wrapper/juce_PluginHeaders.h b/src/audio/plugin_client/juce_PluginHeaders.h
similarity index 100%
rename from extras/audio plugins/wrapper/juce_PluginHeaders.h
rename to src/audio/plugin_client/juce_PluginHeaders.h
diff --git a/extras/audio plugins/wrapper/juce_PluginHostType.h b/src/audio/plugin_client/juce_PluginHostType.h
similarity index 100%
rename from extras/audio plugins/wrapper/juce_PluginHostType.h
rename to src/audio/plugin_client/juce_PluginHostType.h
diff --git a/src/threads/juce_SpinLock.h b/src/threads/juce_SpinLock.h
index 6e4916dc20..3dac9117a5 100644
--- a/src/threads/juce_SpinLock.h
+++ b/src/threads/juce_SpinLock.h
@@ -60,7 +60,10 @@ public:
void enter() const noexcept;
/** Attempts to acquire the lock, returning true if this was successful. */
- bool tryEnter() const noexcept;
+ inline bool tryEnter() const noexcept
+ {
+ return lock.compareAndSetBool (1, 0);
+ }
/** Releases the lock. */
inline void exit() const noexcept
diff --git a/src/threads/juce_Thread.cpp b/src/threads/juce_Thread.cpp
index 04ff8ab683..4f8dbfe14d 100644
--- a/src/threads/juce_Thread.cpp
+++ b/src/threads/juce_Thread.cpp
@@ -319,21 +319,16 @@ void Thread::stopAllThreads (const int timeOutMilliseconds)
//==============================================================================
void SpinLock::enter() const noexcept
{
- if (! lock.compareAndSetBool (1, 0))
+ if (! tryEnter())
{
for (int i = 20; --i >= 0;)
- if (lock.compareAndSetBool (1, 0))
+ if (tryEnter())
return;
- while (! lock.compareAndSetBool (1, 0))
+ while (! tryEnter())
Thread::yield();
}
}
-bool SpinLock::tryEnter() const noexcept
-{
- return lock.compareAndSetBool (1, 0);
-}
-
END_JUCE_NAMESPACE