You can’t yourself manipulate the startSample and numSamples, you need to use them as they are given to you from Juce/the OS. startSamples isn’t always going to be 0 and numSamples isn’t always going to be the same length as the AudioBuffer in the AudioSourceChannelInfo. (This can depend on a number of things, you might not be currently seeing that behavior in your set up, but the Juce AudioSources have been designed so that can happen in certain situations.) You will need to figure out a way to make an AudioBuffer for the AudioProcessors that has the audio starting at sample 0 and numSamples long.
Something like this in getNextAudioBlock :
// dummymidibuffer needs to be a member variable : MidiBuffer dummymidibuffer;
This is safe to do in the audio thread because it uses the AudioBuffer constructor that refers to already allocated data from the buffer in the AudioSourceChannelInfo.