Okay - I haven’t heard back from Mike if he got this to work yet… but figured I’d share and see if others get success as well:
Okay - working perfectly… with a full debug build and I was able to attach it to the Dev debug build and use breakpoints….
Using VS2012 and SDK9
Here’s what I did:
-
Load the SDK 9 SimplePlugIn session and let VS2012 convert it.
-
Change the compiler Platform Toolset to Visual Studio 2012 - Windows XP (v110_xp) for both Debug and Release builds of the 2 projects in the solution.
What we’re doing here is building the PlugInLib_stdcall.lib which is what we’ll use for our JUCE plugins.
-
Add the Preprocessor Definition _STDINT for both Debug and Release builds of the 2 projects in the solution.
-
Compile the solution and verify you have PlugInLib_stdcall.lib in your WinBag Debug and Release folders.
You can now close the SimplePlugIn solution.
-
Create a new IntroJucer RTAS plugin - I created a VS2012 project. Set the Platform Toolset & Extra Preprocessor definition as above in the project in IntroJucer.
In IntroJucer:
For the debug build add the preprocessor definition: _ITERATOR_DEBUG_LEVEL=0
Add _STDINT as a global preprocessor definition.
Change the compiler Platform Toolset to Visual Studio 2012 - Windows XP (v110_xp)
-
Save the project and open it in VS2012.
-
In the project properties I set the Linker Output File to put the DPM file in my Dev build’s DAE/Plugins folder:
Note: You’ll set this to the path to your Dev build’s \dae\Plug-Ins folder wherever it is on your system.
- For Custom Build steps I added:
Command Line: copy /Y $(OutDir)$(TargetName).dll.rsr …\ProTools_3PDev\dae\Plug-Ins$(TargetName).dpm.rsr
Outputs: …\ProTools_3PDev\dae\Plug-Ins$(TargetName).dpm.rsr
Execute after: Link
and saved the properties.
Note: You’ll set these to the path to your Dev build’s \dae\Plug-Ins folder wherever it is on your system.
Now we need to change some code in juce_RTAS_Wrapper.cpp
From line 104…
#if JUCE_DEBUG // (the debug lib in the 8.0 SDK fails to link, so we'll stick to the release one...) // <<----- Change from JUCE_DEBUG_XXX to JUCE_DEBUG so we'll link to the Debug Libraries
#define PT_LIB_PATH JucePlugin_WinBag_path "\\Debug\\lib\\"
#else
#define PT_LIB_PATH JucePlugin_WinBag_path "\\Release\\lib\\"
#endif
#pragma comment(lib, PT_LIB_PATH "DAE.lib")
#pragma comment(lib, PT_LIB_PATH "DigiExt.lib")
#pragma comment(lib, PT_LIB_PATH "DSI.lib")
#pragma comment(lib, PT_LIB_PATH "PlugInLib_stdcall.lib") // <<---- This one gets changed
#pragma comment(lib, PT_LIB_PATH "DSPManager.lib")
#pragma comment(lib, PT_LIB_PATH "DSPManagerClientLib.lib")
#pragma comment(lib, PT_LIB_PATH "RTASClientLib.lib")
#endif
Build the solution and attach it to the debug Pro Tools dev build and you should be all good.
Let me know if this works for you.
Rail