Ambisonics pluging

Hi I’m developing an Ambisonics pluging. I’m getting the data of each channel

float* xChannel = buffer.getWritePointer(27);
float* yChannel = buffer.getWritePointer(25);
float* zChannel = buffer.getWritePointer(26);

But when I run it, the DAW gets block and get this error

com.apple.audio.IOThread.client (101): EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)

In juce_AudioSampleBuffer.h, specifically at this line

Type* getWritePointer (int channelNumber, int sampleIndex) noexcept
{
    jassert (isPositiveAndBelow (channelNumber, numChannels));
    jassert (isPositiveAndBelow (sampleIndex, size));
    isClear = false;
    return channels[channelNumber] + sampleIndex;
}

Maybe is beacuase I have to declare audio Input and Ouput as Ambisonics here.

#ifndef JucePlugin_PreferredChannelConfigurations
 : AudioProcessor (BusesProperties()
                 #if ! JucePlugin_IsMidiEffect
                  #if ! JucePlugin_IsSynth
                   .withInput  ("Input",  AudioChannelSet::stereo(), true)
                  #endif
                   .withOutput ("Output", AudioChannelSet::stereo(), true)
                 #endif
                   )
#endif

Thanks for the support.

Where are those channel numbers 25-27 coming from for the getWritePointer calls, is your plugin actually supposed to have up to 28 channels? Indeed, your plugin’s constructor would allow you to only have 2 channels of input and output at the moment.