Build error on audio plugin host

[quote=“jules”]
Perhaps if they’re not needed, all of those defines should be removed, and instead just change the one use of “KeyPress” to be fully qualified, at line 1204:

bool keyPressed (const juce::KeyPress&)
?[/quote]
Yep. Makes complete sense. Late night debugging often prevents me from seeing the obvious… :wink:

I wish I could develop in a *nix environment, but being able to test is sort of crucial. I put a Windows VM on my Linux machine and I’m building and testing in that. Everything builds the first time with no issues… so I’m finally working on the thing I actually wanted to work on, instead of fussing with all that malarkey. :wink:

Yep I feel like I cut some corners too. I’m not proud…

[quote=“Dri”]
Yep. Makes complete sense. Late night debugging often prevents me from seeing the obvious… ;)[/quote]

FWIW, that’s how I resolved it. I have some lonely hotel time. Have you made further progress on this? I was pretty much at the same spot, built, but nothing to host.

I tried this myself, and found issues when building audio-processors with VST host option on.

Easy to fix though, here’s a patch:

[code]diff --git a/libs/juce-2.0/source/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/libs/juce-2.0/source/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
index 56846d0…b963713 100644
— a/libs/juce-2.0/source/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+++ b/libs/juce-2.0/source/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
@@ -46,6 +46,8 @@
#if JUCE_MSVC
#pragma warning (push)
#pragma warning (disable: 4996)
+#else

  • #define __cdecl
    #endif

/* Obviously you’re going to need the Steinberg vstsdk2.4 folder in
@@ -69,6 +71,10 @@
static void _clearfp() {}
#endif

+#if JUCE_LINUX

  • #undef KeyPress
    +#endif

//==============================================================================
const int fxbVersionNum = 1;

[/code]

EDIT: I got it to compile, but the application hangs at:

void PluginListComponent::scanFor (AudioPluginFormat* format)
{
...
if (aw.runModalLoop() == 0)[/code]

which in turns leads me into:
[code]int Component::runModalLoop()
{
...
return ModalComponentManager::getInstance()->runEventLoopForCurrentComponent();

(hangs at ‘runEventLoopForCurrentComponent()’)
Not sure why, but I’m investigating…