Browse Source

Add vst product string test, to know if we should capture keys

pull/32/head
falkTX 6 years ago
parent
commit
a186f083ca
1 changed files with 17 additions and 1 deletions
  1. +17
    -1
      distrho/src/DistrhoPluginVST.cpp

+ 17
- 1
distrho/src/DistrhoPluginVST.cpp View File

@@ -124,8 +124,20 @@ public:
fEffect(effect),
fUiHelper(uiHelper),
fPlugin(plugin),
fUI(this, winId, editParameterCallback, setParameterCallback, setStateCallback, sendNoteCallback, setSizeCallback, plugin->getInstancePointer())
fUI(this, winId, editParameterCallback, setParameterCallback, setStateCallback, sendNoteCallback, setSizeCallback, plugin->getInstancePointer()),
fShouldCaptureVstKeys(false)
{
// FIXME only needed for windows?
//#ifdef DISTRHO_OS_WINDOWS
char strBuf[0xff+1];
std::memset(strBuf, 0, sizeof(char)*(0xff+1));
hostCallback(audioMasterGetProductString, 0, 0, strBuf);
d_stdout("Plugin UI running in '%s'", strBuf);

// TODO make a white-list of needed hosts
if (/*std::strcmp(strBuf, "") == 0*/ true)
fShouldCaptureVstKeys = true;
//#endif
}

// -------------------------------------------------------------------
@@ -172,6 +184,9 @@ public:
int handlePluginKeyEvent(const bool down, int32_t index, const intptr_t value)
{
# if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI
if (! fShouldCaptureVstKeys)
return 0;

d_stdout("handlePluginKeyEvent %i %i %li\n", down, index, (long int)value);

int special = 0;
@@ -284,6 +299,7 @@ private:

// Plugin UI
UIExporter fUI;
bool fShouldCaptureVstKeys;

// -------------------------------------------------------------------
// Callbacks


Loading…
Cancel
Save