diff --git a/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h index 6c5048c984..94505ffd35 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h @@ -214,7 +214,7 @@ private: { builder.add (new FilePathPropertyComponent (aaxPathValue, "AAX SDK", true, isThisOS), "If you are building AAX plug-ins, this should be the path to the AAX SDK folder."); - builder.add (new FilePathPropertyComponent (rtasPathValue, "RTAS SDK", true, isThisOS), + builder.add (new FilePathPropertyComponent (rtasPathValue, "RTAS SDK (deprecated)", true, isThisOS), "If you are building RTAS plug-ins, this should be the path to the RTAS SDK folder."); } diff --git a/extras/Projucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp index 6f575c28ad..82b0e25474 100644 --- a/extras/Projucer/Source/Project/jucer_Project.cpp +++ b/extras/Projucer/Source/Project/jucer_Project.cpp @@ -1064,7 +1064,7 @@ void Project::createPropertyEditors (PropertyListBuilder& props) void Project::createAudioPluginPropertyEditors (PropertyListBuilder& props) { props.add (new MultiChoicePropertyComponent (pluginFormatsValue, "Plugin Formats", - { "VST3", "AU", "AUv3", "RTAS", "AAX", "Standalone", "Unity", "Enable IAA", "VST (Legacy)" }, + { "VST3", "AU", "AUv3", "RTAS (deprecated)", "AAX", "Standalone", "Unity", "Enable IAA", "VST (Legacy)" }, { Ids::buildVST3.toString(), Ids::buildAU.toString(), Ids::buildAUv3.toString(), Ids::buildRTAS.toString(), Ids::buildAAX.toString(), Ids::buildStandalone.toString(), Ids::buildUnity.toString(), Ids::enableIAA.toString(), Ids::buildVST.toString() }), diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp index 4b9e5d3bcc..257c0e021e 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp @@ -24,11 +24,11 @@ ============================================================================== */ -#if JucePlugin_Build_RTAS - #include "../../juce_core/system/juce_TargetPlatform.h" #include "../utility/juce_CheckSettingMacros.h" +#if JucePlugin_Build_RTAS + // (these functions are in their own file because of problems including windows.h // at the same time as the Digi headers) @@ -45,14 +45,13 @@ #include "../utility/juce_IncludeModuleHeaders.h" #pragma pack (pop) -namespace juce -{ - //============================================================================== void JUCE_CALLTYPE attachSubWindow (void* hostWindow, int& titleW, int& titleH, Component* comp) { + using namespace juce; + RECT clientRect; GetClientRect ((HWND) hostWindow, &clientRect); @@ -77,6 +76,8 @@ void JUCE_CALLTYPE resizeHostWindow (void* hostWindow, int& titleW, int& titleH, Component* comp) { + using namespace juce; + RECT clientRect, windowRect; GetClientRect ((HWND) hostWindow, &clientRect); GetWindowRect ((HWND) hostWindow, &windowRect); @@ -94,12 +95,12 @@ extern "C" BOOL WINAPI DllMainRTAS (HINSTANCE, DWORD, LPVOID); extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID reserved) { if (reason == DLL_PROCESS_ATTACH) - Process::setCurrentModuleInstanceHandle (instance); + juce::Process::setCurrentModuleInstanceHandle (instance); if (GetModuleHandleA ("DAE.DLL") != 0) return DllMainRTAS (instance, reason, reserved); - ignoreUnused (reserved); + juce::ignoreUnused (reserved); return TRUE; } @@ -121,7 +122,7 @@ namespace TCHAR windowType [32] = { 0 }; GetClassName (parent, windowType, 31); - if (String (windowType).equalsIgnoreCase ("MDIClient")) + if (juce::String (windowType).equalsIgnoreCase ("MDIClient")) { w = parent; break; @@ -154,6 +155,4 @@ void JUCE_CALLTYPE passFocusToHostWindow (void* hostWindow) #endif -} // namespace juce - #endif diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp index 0140d0dea3..fb494ac3dc 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp @@ -171,14 +171,15 @@ class JucePlugInProcess : public CEffectProcessMIDI, { public: //============================================================================== - JucePlugInProcess() + // RTAS builds will be removed from JUCE in the next release + JUCE_DEPRECATED_WITH_BODY (JucePlugInProcess(), { juceFilter.reset (createPluginFilterOfType (AudioProcessor::wrapperType_RTAS)); AddChunk (juceChunkType, "Juce Audio Plugin Data"); ++numInstances; - } + }) ~JucePlugInProcess() { @@ -316,7 +317,7 @@ public: if (Component* const modalComponent = Component::getCurrentlyModalComponent()) modalComponent->exitModalState (0); - filter->editorBeingDeleted (editorComp); + filter->editorBeingDeleted (editorComp.get()); editorComp.reset(); wrapper.reset(); @@ -951,6 +952,10 @@ public: { std::unique_ptr plugin (createPluginFilterOfType (AudioProcessor::wrapperType_RTAS)); + #ifndef JucePlugin_PreferredChannelConfigurations + #error You need to set the "Plugin Channel Configurations" field in the Projucer to build RTAS plug-ins + #endif + const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations }; const int numConfigs = numElementsInArray (channelConfigs);