Override handleCanPlugInDo?

And it works like a charm :slight_smile:
Here some code snippets as an example implementation:

PluginProcessor.h:
Inheriting from VSTCallbackHandler:
class StereoEncoderAudioProcessor : public AudioProcessor, public VSTCallbackHandler

overriding methods:

pointer_sized_int handleVstManufacturerSpecific (int32 index, pointer_sized_int value,
                                                     void* ptr, float opt) override { return 0; };
pointer_sized_int handleVstPluginCanDo (int32 index, pointer_sized_int value,
                                            void* ptr, float opt) override;

PluginProcessor.cpp:

E.g. implementing Reaper’s recently supported wantsChannelCountNotifications canDo

pointer_sized_int StereoEncoderAudioProcessor::handleVstPluginCanDo (int32 index,
                                        pointer_sized_int value, void* ptr, float opt)
{
    auto text = (const char*) ptr;
    auto matches = [=](const char* s) { return strcmp (text, s) == 0; };

    if (matches ("wantsChannelCountNotifications"))
        return 1;
    return 0;
}
1 Like