Browse Source

Carla: Fix crash on plugins with latency but no activate/deactivate

tags/v0.9.0
falkTX 12 years ago
parent
commit
70701ccb6c
3 changed files with 18 additions and 6 deletions
  1. +6
    -2
      c++/carla-backend/dssi.cpp
  2. +6
    -2
      c++/carla-backend/ladspa.cpp
  3. +6
    -2
      c++/carla-backend/lv2.cpp

+ 6
- 2
c++/carla-backend/dssi.cpp View File

@@ -728,9 +728,13 @@ public:
ldescriptor->connect_port(handle, aOut.rindexes[j], tmpOut[j]);
}

ldescriptor->activate(handle);
if (ldescriptor->activate)
ldescriptor->activate(handle);

ldescriptor->run(handle, 2);
ldescriptor->deactivate(handle);

if (ldescriptor->deactivate)
ldescriptor->deactivate(handle);

m_latency = rint(paramBuffers[i]);
hasLatency = true;


+ 6
- 2
c++/carla-backend/ladspa.cpp View File

@@ -697,9 +697,13 @@ public:
descriptor->connect_port(handle, aOut.rindexes[j], tmpOut[j]);
}

descriptor->activate(handle);
if (descriptor->activate)
descriptor->activate(handle);

descriptor->run(handle, 2);
descriptor->deactivate(handle);

if (descriptor->deactivate)
descriptor->deactivate(handle);

m_latency = rint(paramBuffers[i]);
hasLatency = true;


+ 6
- 2
c++/carla-backend/lv2.cpp View File

@@ -1801,9 +1801,13 @@ public:
descriptor->connect_port(handle, aOut.rindexes[j], nullptr);
}

descriptor->activate(handle);
if (descriptor->activate)
descriptor->activate(handle);

descriptor->run(handle, 0);
descriptor->deactivate(handle);

if (descriptor->deactivate)
descriptor->deactivate(handle);

m_latency = rint(paramBuffers[i]);
hasLatency = true;


Loading…
Cancel
Save