RTAS Windows Problem

I am trying to run my Juce plugin under RTAS Windows using Protools 8 LE and the PT_80_SDK. The plugin runs as RTAS on Mac. But on Windows 7 x64 (the plugin is 32 bit and so is PT 8) I get the error:

_PI_GetRoutineDescriptor

This occurs when ProTools 8 LE is first starting up and scanning the plugins. I generated an “RTST” stripped down plugin also using IntroJucer and I still get this error.

I notice that, unlike make, there is no automatic copy procedure to the PT plugins folder on Windows and no unix sed script mashup like on Mac. Is there something special that needs to be done to get a plugin to run as RTAS.

When you say you “get the error _PI_GetRoutineDescriptor”, do you mean it just says that symbol in a dialog box with no other explanation at all?

The _PI_GetRoutineDescriptor function’s defined in juce_RTAS_DigiCode3.cpp - are you definitely building that file?

Yes, sorry for the vague description. The complete message that pops up in an error modal dialog on WIndows 7 x64 when PT 8 starts is:

“Could not complete your request because the specified procedure could not be found. (127) while looking up symbol “_PI_GetRoutineDescriptor” in RTST.dpm”.

RTST.dpm is the stripped down minimal plugin project I built using IntroJucer from build.

I’m using:

#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
#define JUCE_BUILDNUMBER 51

I can upload the RTST project somewhere if you like. I needed to add various Digidesign libraries such as DSPManager.lib to get it to build.

Also, yes juce_RTAS_DigiCode3.cpp is definitely part of the project. The project is basically what is generated by by IntroJucer with RTAS and VST enabled except that the PT_SDK libraries:

DSPManagerClientLib.lib
DSPManager.lib
RTASClientLib.lib

have been built and added in addition to PlugInLib.lib so that the project builds.

There are some macros that are referred to in juce_RTAS_DigiCode3.cpp:

_MSC_VER, and WINDOWS_VERSION

I have not set these, assuming they would be set somewhere correctly by Juce. But they seem to impact relevant parts of the code.

I can’t see any problems with the code. Did you use the introjucer to create the project?

Yes, the test project is as near to a pure IntroJucer output as I can get it. As I mentioned I needed to add a few PT_SDK libraries to get it to build.

Problem Solved! I had not followed the instructions in the “How to use this framework.txt” located in “juce/extras/audio plugins”. Specifically I needed to include the .def file in the project and I needed to copy the .rsr file as instructed.