diff --git a/modules/juce_audio_plugin_client/LV2/juce_LV2_Client.cpp b/modules/juce_audio_plugin_client/LV2/juce_LV2_Client.cpp index c27d3a71bf..b6e3f12cba 100644 --- a/modules/juce_audio_plugin_client/LV2/juce_LV2_Client.cpp +++ b/modules/juce_audio_plugin_client/LV2/juce_LV2_Client.cpp @@ -505,8 +505,12 @@ public: void run (uint32_t numSteps) { + // If this is hit, the host is trying to process more samples than it told us to prepare + jassert (static_cast (numSteps) <= processor->getBlockSize()); + midi.clear(); playHead.invalidate(); + audio.setSize (audio.getNumChannels(), static_cast (numSteps), true, false, true); ports.forEachInputEvent ([&] (const LV2_Atom_Event* event) { @@ -536,7 +540,7 @@ public: processor->setNonRealtime (ports.isFreeWheeling()); for (auto i = 0, end = processor->getTotalNumInputChannels(); i < end; ++i) - audio.copyFrom (i, 0, ports.getBufferForAudioInput (i), (int) numSteps); + audio.copyFrom (i, 0, ports.getBufferForAudioInput (i), audio.getNumSamples()); jassert (countNaNs (audio) == 0);