If you want to debug your audio plugin as a standalone application, use (e.g. fork and modify) the juce_StandaloneFilterWindow.h. I really enjoy using it!
But at the moment it is not entirely compatible with an audio plugin generated by the Introjucer.
How to fix it
Either you have to add
AudioProcessor* JUCE_CALLTYPE createPluginFilterOfType (AudioProcessor::WrapperType)
{
return new TheNameOfYourPluginAudioProcessor();
}
I’m not very familiar with the inner workings of JUCE, but I guess this changes to juce_StandaloneFilterWindow.h have just been overlooked.
May you fix it, Julian?
I think the MAC (Xcode 4.6.2) build might be broken now, multiple error in juce_VST_Wrapper.cpp:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:247:3: Use of class template Point requires template arguments
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Components.h:326:68: Reference to 'Component' is ambiguous
AU build seems to be broken too (though the AUBase.cpp file fails, and that’s not part of Juce i think)
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacMemory.h:130:16: Reference to 'MemoryBlock' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacMemory.h:132:3: Reference to 'MemoryBlock' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacMemory.h:133:3: Reference to 'MemoryBlock' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:240:3: Use of class template Point requires template arguments
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:248:3: Use of class template Point requires template arguments
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:261:3: Use of class template Point requires template arguments
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:284:3: Use of class template Point requires template arguments
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:314:3: Use of class template Point requires template arguments
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:327:3: Use of class template Point requires template arguments
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:320:68: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:412:8: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:434:8: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:453:21: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:468:8: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:470:3: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:504:3: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:560:3: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:577:15: Reference to 'Component' is ambiguous
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:627:8: Reference to 'Component' is ambiguous
Too many errors emitted, stopping now
It looks like this is caused by the usage of precompiled headers. I have a file i precompile that has boost/luabind/juce headers in it. The file juce_VST_Wrapper.cpp is compiled with the flag -include my_pch_file and that seems to be causing this issue. Though it worked a few revisions ago (or maybe in the older Xcode?).
TBH I wouldn’t actually expect anyone to use the class directly - it’s in the codebase more as an example of how to write one than as a class to be used verbatim. That’s why I didn’t add an automatic include for it, though it’s easy enough to include the file directly yourself (it’s only a single header that you need).
…or perhaps it should always be included, because I guess people do use it just as a quick debugging tool? What do people think?
(Ah, no - sorry… it couldn’t go in juce_audio_utils because it expects there to be a createPluginFilter() function, which wouldn’t be the case in a normal app).
Yes, I use it as quick debugging tool. But I don’t like the idea of including it.
I’d prefer the Introjucer putting it into the Source-folder if the user wants one. Auto-generated, similar to the Main.cpp and the basic window for a GUI Application.