Kkey presses are not forwarded to wrapped plugin

My VST3 plugin loads another plugin. It seems to work fine so far. A big praise to the JUCE team.

However the incoming key presses are not forwarded to the wrapped plugin.

class MyKeyListener : public juce::KeyListener
{
public:
bool keyPressed(const juce::KeyPress& key, juce::Component* orginatingComponent) override
{
MessBox(“”, “Key has been pressed”);
return false;
}
};

class WrapperProcessor: public juce::AudioProcessor, public juce::AudioProcessorListener
{
public:
WrapperProcessor(std::unique_ptrjuce::AudioPluginInstance processorToUse): AudioProcessor(getBusesPropertiesFromProcessor(processorToUse.get())),plugin(std::move(processorToUse))
{
plugin->addListener(this);
}
const juce::String getName() const override { return plugin->getName(); }
bool canAddBus(bool inputBus) const override { return plugin->canAddBus(inputBus); }
bool canRemoveBus(bool inputBus) const override { return plugin->canRemoveBus(inputBus); }
bool supportsDoublePrecisionProcessing() const override { return plugin->supportsDoublePrecisionProcessing(); }
double getTailLengthSeconds() const override { return plugin->getTailLengthSeconds(); }
bool acceptsMidi() const override { return plugin->acceptsMidi(); }
bool producesMidi() const override { return plugin->producesMidi(); }
bool supportsMPE() const override { return plugin->supportsMPE(); }
bool isMidiEffect() const override { return plugin->isMidiEffect(); }
void reset() override { plugin->reset(); }

juce::AudioProcessorEditor* createEditor() override
{
juce::AudioProcessorEditor* ed;
ed = plugin->createEditor();
ed->setWantsKeyboardFocus(true);
ed->setFocusContainer(true);
ed->grabKeyboardFocus();
ed->addKeyListener(&keyListener);
return ed;
}

std::unique_ptrjuce::AudioPluginInstance plugin;//juce 5.4
MyKeyListener keyListener;
};

juce::AudioProcessor* JUCE_CALLTYPE createPluginFilter()
{

auto wrapped = pluginFormatManager.createPluginInstance(*pluginDescriptions[0], 44100.0, 512, msg);
return std::make_unique(std::move(wrapped)).release();
}

bump! :slight_smile: