If you don’t need any preallocated buffers, you can completely ignore the number of estimatedSamplesPerBuffer you get in prepareToPlay.
When you call renderNextBlock() use the actual size of the buffer.
If you don’t need any preallocated buffers, you can completely ignore the number of estimatedSamplesPerBuffer you get in prepareToPlay.
When you call renderNextBlock() use the actual size of the buffer.
void AudioPlugInAudioProcessor::processBlock (AudioBuffer<float>& buffer, MidiBuffer& midiMessages)
{
const ScopedLock renderLock(lock);
Why are you taking a lock to process? Where else is this lock being used? I was under the impression locking should be avoided whilst processing under all circumstances.