Browse Source

Carla: Vst callback minor fixing

tags/v0.9.0
falkTX 13 years ago
parent
commit
46af2ce8ad
2 changed files with 16 additions and 4 deletions
  1. +1
    -1
      c++/carla-backend/carla_bridge.cpp
  2. +15
    -3
      c++/carla-backend/vst.cpp

+ 1
- 1
c++/carla-backend/carla_bridge.cpp View File

@@ -955,7 +955,7 @@ public:
x_engine->__bridgePluginRegister(m_id, nullptr); x_engine->__bridgePluginRegister(m_id, nullptr);


osc.thread->terminate(); osc.thread->terminate();
setLastError("Timeout while waiting for a response from plugin-bridge");
setLastError("Timeout while waiting for a response from plugin-bridge\n(or the plugin crashed on initialization?)");
return false; return false;
} }
else if (m_initError) else if (m_initError)


+ 15
- 3
c++/carla-backend/vst.cpp View File

@@ -1732,12 +1732,20 @@ public:
self = nullptr; self = nullptr;
} }


#ifdef DEBUG
if (self) if (self)
{
if (! self->effect)
self->effect = effect;

Q_ASSERT(self->effect == effect); Q_ASSERT(self->effect == effect);
#endif


if (lastVstPlugin && ! self)
if (self->effect != effect)
{
qWarning("VstPlugin::hostCallback() - host pointer mismatch: %p != %p", self->effect, effect);
self = nullptr;
}
}
else if (lastVstPlugin)
{ {
#ifdef VESTIGE_HEADER #ifdef VESTIGE_HEADER
effect->ptr1 = lastVstPlugin; effect->ptr1 = lastVstPlugin;
@@ -1896,7 +1904,9 @@ public:
case audioMasterGetSampleRate: case audioMasterGetSampleRate:
Q_ASSERT(self); Q_ASSERT(self);
if (self) if (self)
{
ret = self->handleAudioMasterGetSampleRate(); ret = self->handleAudioMasterGetSampleRate();
}
else else
{ {
qWarning("VstPlugin::hostCallback::audioMasterGetSampleRate called without valid object"); qWarning("VstPlugin::hostCallback::audioMasterGetSampleRate called without valid object");
@@ -1907,7 +1917,9 @@ public:
case audioMasterGetBlockSize: case audioMasterGetBlockSize:
Q_ASSERT(self); Q_ASSERT(self);
if (self) if (self)
{
ret = self->handleAudioMasterGetBlockSize(); ret = self->handleAudioMasterGetBlockSize();
}
else else
{ {
qWarning("stPlugin::hostCallback::audioMasterGetBlockSize called without valid object"); qWarning("stPlugin::hostCallback::audioMasterGetBlockSize called without valid object");


Loading…
Cancel
Save