Inject notes to a synthesiser

I tried to implement a policy of injection by taking into consideration your suggestion

    void processBlock(juce::AudioSampleBuffer& buffer, juce::MidiBuffer& midiBuffer) override
    {
        
        juce::AudioSourceChannelInfo bufferToFill(buffer);

        bufferToFill.clearActiveBufferRegion();
        juce::MidiBuffer myBuff;
        myBuff.clear();


        for (int i = 0; i < customBuffer.getNumEvents(); i++)
        {
            juce::MidiMessageSequence::MidiEventHolder* eventHolder = messageSequence.getEventPointer(i);

            if (processBlockTime == 0)
            {
                myBuff.addEvent(eventHolder->message, 0);
                processBlockTime++;
                lastIndex = i;
                midiBuffer.swapWith(myBuff);


            }
            else if (processBlockTime > 0 && processBlockTime < bufferToFill.numSamples)
            {
                i = lastIndex;
                processBlockTime++;

            }
            else if (processBlockTime == bufferToFill.numSamples)
            {
                processBlockTime = 0;

                
            }

            keyState->processNextMidiBuffer(midiBuffer, bufferToFill.startSample,
                bufferToFill.numSamples, true);


            synth.renderNextBlock(*bufferToFill.buffer, midiBuffer,
                bufferToFill.startSample, bufferToFill.numSamples);
        }
    }

Unfortunately with this code, no sound is emitted