Hi, I'm using the new bus system in order to mimic previous the previous pluginChannelConfigs: {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}, {8, 4}
So:
- I cleared this field in the .jucer project and regenerated the Xcode project
- I added in my main class constructor:
busArrangement.inputBuses.clear();
busArrangement.outputBuses.clear();
busArrangement.inputBuses.add(AudioProcessorBus("InputDiscrete8", AudioChannelSet::discreteChannels(8)));
busArrangement.outputBuses.add(AudioProcessorBus("OutputAmbi", AudioChannelSet::ambisonic()));
- I overrided setPreferredBusArrangement:
bool setPreferredBusArrangement (bool isInputBus, int busIndex,
const AudioChannelSet& preferred) override
{
const int numChannels = preferred.size();
if (isInputBus)
{
if (numChannels < 1)
{
return false;
}
}
else
{
if (numChannels != 4)
{
return false;
}
}
return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred);
}
- The plugin builds
- I start a new REAPER project and I create a new track and instantiate my plugin
- As REAPER continuously processes the plugins, it immediately crashes:
with i = 4
Going up in the call tree:
where numChannels = 8, numIn = 2, numOut = 4
- I see that this exact line has changed in commit e29e9ee2e3b5472f58c0320b176ff57c94165b6f
And the previous version does not crash, so this is a regression with REAPER.
- Also, now this is what I can see in the routing matric of the plugin in REAPER (when replacing numChannels with jmax (numIn, numOut)):

i.e. channel do not hold the right names (just the bus name), plus only two channel input is available — I had 8 channels before the bus arrangement rework: here is a screenshot of a previous version:

I hope my bug report/regression report helped, and I hope you'll find & fix what caused these regression:
- REAPER crash
- channel names
- number of input channels
All the best
EDIT ===============================================================
By reintroducing the following code that was removed in the same exact commit, I get "my" 8 channels back in REAPER:
const int numInChans = filter->busArrangement.getTotalNumInputChannels();
const int numOutChans = filter->busArrangement.getTotalNumOutputChannels();
setNumInputs (numInChans);
setNumOutputs (numOutChans);
floatTempBuffers.channels.calloc ((size_t) (numInChans + numOutChans));
doubleTempBuffers.channels.calloc ((size_t) (numInChans + numOutChans));
hope it helps.



