| @@ -225,46 +225,46 @@ | |||||
| <GROUP id="2KbZnNZ" name="plugin_client"> | <GROUP id="2KbZnNZ" name="plugin_client"> | ||||
| <GROUP id="XD6F6id" name="AU"> | <GROUP id="XD6F6id" name="AU"> | ||||
| <FILE id="g8u7Ehw" name="juce_AU_Wrapper.mm" compile="0" resource="0" | <FILE id="g8u7Ehw" name="juce_AU_Wrapper.mm" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm"/> | |||||
| file="src/audio/plugin_client/AU/juce_AU_Wrapper.mm"/> | |||||
| </GROUP> | </GROUP> | ||||
| <GROUP id="3smzJJ1" name="RTAS"> | <GROUP id="3smzJJ1" name="RTAS"> | ||||
| <FILE id="Oi5d14V" name="juce_RTAS_DigiCode_Header.h" compile="0" resource="0" | <FILE id="Oi5d14V" name="juce_RTAS_DigiCode_Header.h" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode_Header.h"/> | |||||
| file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode_Header.h"/> | |||||
| <FILE id="cEggbzN" name="juce_RTAS_DigiCode1.cpp" compile="0" resource="0" | <FILE id="cEggbzN" name="juce_RTAS_DigiCode1.cpp" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode1.cpp"/> | |||||
| file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"/> | |||||
| <FILE id="dVVlniW" name="juce_RTAS_DigiCode2.cpp" compile="0" resource="0" | <FILE id="dVVlniW" name="juce_RTAS_DigiCode2.cpp" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode2.cpp"/> | |||||
| file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"/> | |||||
| <FILE id="ydwdTzy" name="juce_RTAS_DigiCode3.cpp" compile="0" resource="0" | <FILE id="ydwdTzy" name="juce_RTAS_DigiCode3.cpp" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/RTAS/juce_RTAS_DigiCode3.cpp"/> | |||||
| file="src/audio/plugin_client/RTAS/juce_RTAS_DigiCode3.cpp"/> | |||||
| <FILE id="ehXpXBw" name="juce_RTAS_MacUtilities.mm" compile="0" resource="0" | <FILE id="ehXpXBw" name="juce_RTAS_MacUtilities.mm" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/RTAS/juce_RTAS_MacUtilities.mm"/> | |||||
| file="src/audio/plugin_client/RTAS/juce_RTAS_MacUtilities.mm"/> | |||||
| <FILE id="0mzLwTq" name="juce_RTAS_WinUtilities.cpp" compile="0" resource="0" | <FILE id="0mzLwTq" name="juce_RTAS_WinUtilities.cpp" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/RTAS/juce_RTAS_WinUtilities.cpp"/> | |||||
| file="src/audio/plugin_client/RTAS/juce_RTAS_WinUtilities.cpp"/> | |||||
| <FILE id="z4sBC3E" name="juce_RTAS_Wrapper.cpp" compile="0" resource="0" | <FILE id="z4sBC3E" name="juce_RTAS_Wrapper.cpp" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/RTAS/juce_RTAS_Wrapper.cpp"/> | |||||
| file="src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp"/> | |||||
| </GROUP> | </GROUP> | ||||
| <GROUP id="YuP52Pz" name="VST"> | <GROUP id="YuP52Pz" name="VST"> | ||||
| <FILE id="VDMcLoB" name="juce_VST_Wrapper.cpp" compile="0" resource="0" | <FILE id="VDMcLoB" name="juce_VST_Wrapper.cpp" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp"/> | |||||
| file="src/audio/plugin_client/VST/juce_VST_Wrapper.cpp"/> | |||||
| <FILE id="XhNhfUW" name="juce_VST_Wrapper.mm" compile="0" resource="0" | <FILE id="XhNhfUW" name="juce_VST_Wrapper.mm" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm"/> | |||||
| file="src/audio/plugin_client/VST/juce_VST_Wrapper.mm"/> | |||||
| </GROUP> | </GROUP> | ||||
| <GROUP id="hhHHjJZ" name="Standalone"> | <GROUP id="hhHHjJZ" name="Standalone"> | ||||
| <FILE id="0aPHUJq" name="juce_AudioFilterStreamer.cpp" compile="0" | <FILE id="0aPHUJq" name="juce_AudioFilterStreamer.cpp" compile="0" | ||||
| resource="0" file="extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.cpp"/> | |||||
| resource="0" file="src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.cpp"/> | |||||
| <FILE id="6ml8N6N" name="juce_AudioFilterStreamer.h" compile="0" resource="0" | <FILE id="6ml8N6N" name="juce_AudioFilterStreamer.h" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/Standalone/juce_AudioFilterStreamer.h"/> | |||||
| file="src/audio/plugin_client/Standalone/juce_AudioFilterStreamer.h"/> | |||||
| <FILE id="l0R8qQC" name="juce_StandaloneFilterWindow.cpp" compile="0" | <FILE id="l0R8qQC" name="juce_StandaloneFilterWindow.cpp" compile="0" | ||||
| resource="0" file="extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.cpp"/> | |||||
| resource="0" file="src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.cpp"/> | |||||
| <FILE id="OZmMutP" name="juce_StandaloneFilterWindow.h" compile="0" | <FILE id="OZmMutP" name="juce_StandaloneFilterWindow.h" compile="0" | ||||
| resource="0" file="extras/audio plugins/wrapper/Standalone/juce_StandaloneFilterWindow.h"/> | |||||
| resource="0" file="src/audio/plugin_client/Standalone/juce_StandaloneFilterWindow.h"/> | |||||
| </GROUP> | </GROUP> | ||||
| <FILE id="oIRLyr" name="juce_IncludeCharacteristics.h" compile="0" | <FILE id="oIRLyr" name="juce_IncludeCharacteristics.h" compile="0" | ||||
| resource="0" file="extras/audio plugins/wrapper/juce_IncludeCharacteristics.h"/> | |||||
| resource="0" file="src/audio/plugin_client/juce_IncludeCharacteristics.h"/> | |||||
| <FILE id="UXGF34T" name="juce_PluginHeaders.h" compile="0" resource="0" | <FILE id="UXGF34T" name="juce_PluginHeaders.h" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/juce_PluginHeaders.h"/> | |||||
| file="src/audio/plugin_client/juce_PluginHeaders.h"/> | |||||
| <FILE id="FYLoUYQ" name="juce_PluginHostType.h" compile="0" resource="0" | <FILE id="FYLoUYQ" name="juce_PluginHostType.h" compile="0" resource="0" | ||||
| file="extras/audio plugins/wrapper/juce_PluginHostType.h"/> | |||||
| file="src/audio/plugin_client/juce_PluginHostType.h"/> | |||||
| </GROUP> | </GROUP> | ||||
| <GROUP id="rWnJUOyOY" name="plugin_host"> | <GROUP id="rWnJUOyOY" name="plugin_host"> | ||||
| <GROUP id="CCwLdZ" name="formats"> | <GROUP id="CCwLdZ" name="formats"> | ||||
| @@ -44,9 +44,13 @@ const char* const projectItemDragType = "Project Items"; | |||||
| const char* const drawableItemDragType = "Drawable Items"; | const char* const drawableItemDragType = "Drawable Items"; | ||||
| const char* const componentItemDragType = "Components"; | 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 | #endif | ||||
| @@ -91,12 +91,12 @@ protected: | |||||
| if (isRTAS()) | 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) | for (int i = 0; i < numElementsInArray (files); ++i) | ||||
| s.add (getJucePathFromTargetFolder().getChildFile (files[i])); | s.add (getJucePathFromTargetFolder().getChildFile (files[i])); | ||||
| @@ -614,7 +614,7 @@ protected: | |||||
| if (isRTAS()) | 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 ("CommandLine", "copy /Y \"" + rsrFile.toWindowsStyle() + "\" \"$(TargetPath)\".rsr"); | ||||
| customBuild->setAttribute ("Outputs", "\"$(TargetPath)\".rsr"); | customBuild->setAttribute ("Outputs", "\"$(TargetPath)\".rsr"); | ||||
| @@ -711,7 +711,7 @@ protected: | |||||
| extraLinkerOptions += " /FORCE:multiple"; | extraLinkerOptions += " /FORCE:multiple"; | ||||
| linker->setAttribute ("DelayLoadDLLs", "DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; DSPManager.dll"); | linker->setAttribute ("DelayLoadDLLs", "DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; DSPManager.dll"); | ||||
| linker->setAttribute ("ModuleDefinitionFile", getJucePathFromTargetFolder() | linker->setAttribute ("ModuleDefinitionFile", getJucePathFromTargetFolder() | ||||
| .getChildFile ("extras/audio plugins/wrapper/RTAS/juce_RTAS_WinExports.def") | |||||
| .getChildFile (JUCE_PLUGINS_PATH_RTAS "juce_RTAS_WinExports.def") | |||||
| .toWindowsStyle()); | .toWindowsStyle()); | ||||
| } | } | ||||
| @@ -1101,13 +1101,13 @@ private: | |||||
| Array<RelativePath> s; | Array<RelativePath> s; | ||||
| if (isRTAS()) | 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) | for (int i = 0; i < numElementsInArray (files); ++i) | ||||
| s.add (getJucePathFromTargetFolder().getChildFile (files[i])); | s.add (getJucePathFromTargetFolder().getChildFile (files[i])); | ||||
| @@ -1120,8 +1120,8 @@ private: | |||||
| { | { | ||||
| Array<RelativePath> auWrappers; | Array<RelativePath> 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; | int i; | ||||
| for (i = 0; i < numElementsInArray (files); ++i) | for (i = 0; i < numElementsInArray (files); ++i) | ||||
| auWrappers.add (getJucePathFromTargetFolder().getChildFile (files[i])); | auWrappers.add (getJucePathFromTargetFolder().getChildFile (files[i])); | ||||
| @@ -194,8 +194,8 @@ const Array<RelativePath> ProjectExporter::getVSTFilesRequired() const | |||||
| Array<RelativePath> s; | Array<RelativePath> s; | ||||
| if (isVST()) | 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) | for (int i = 0; i < numElementsInArray (files); ++i) | ||||
| s.add (getJucePathFromTargetFolder().getChildFile (files[i])); | s.add (getJucePathFromTargetFolder().getChildFile (files[i])); | ||||
| @@ -60,7 +60,10 @@ public: | |||||
| void enter() const noexcept; | void enter() const noexcept; | ||||
| /** Attempts to acquire the lock, returning true if this was successful. */ | /** 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. */ | /** Releases the lock. */ | ||||
| inline void exit() const noexcept | inline void exit() const noexcept | ||||
| @@ -319,21 +319,16 @@ void Thread::stopAllThreads (const int timeOutMilliseconds) | |||||
| //============================================================================== | //============================================================================== | ||||
| void SpinLock::enter() const noexcept | void SpinLock::enter() const noexcept | ||||
| { | { | ||||
| if (! lock.compareAndSetBool (1, 0)) | |||||
| if (! tryEnter()) | |||||
| { | { | ||||
| for (int i = 20; --i >= 0;) | for (int i = 20; --i >= 0;) | ||||
| if (lock.compareAndSetBool (1, 0)) | |||||
| if (tryEnter()) | |||||
| return; | return; | ||||
| while (! lock.compareAndSetBool (1, 0)) | |||||
| while (! tryEnter()) | |||||
| Thread::yield(); | Thread::yield(); | ||||
| } | } | ||||
| } | } | ||||
| bool SpinLock::tryEnter() const noexcept | |||||
| { | |||||
| return lock.compareAndSetBool (1, 0); | |||||
| } | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||