Browse Source

Fixed a bug where the AudioProcessor would sometimes fail to call the numChannelsChanged() callback

tags/2021-05-28
hogliux 9 years ago
parent
commit
daba498ef9
1 changed files with 7 additions and 1 deletions
  1. +7
    -1
      modules/juce_audio_processors/processors/juce_AudioProcessor.cpp

+ 7
- 1
modules/juce_audio_processors/processors/juce_AudioProcessor.cpp View File

@@ -905,6 +905,8 @@ bool AudioProcessor::applyBusLayouts (const BusesLayout& layouts)
|| layouts.outputBuses.size() != numOutputBuses)
return false;
int newNumberOfIns = 0, newNumberOfOuts = 0;
for (int busIdx = 0; busIdx < numInputBuses; ++busIdx)
{
Bus& bus = *getBus (true, busIdx);
@@ -913,6 +915,8 @@ bool AudioProcessor::applyBusLayouts (const BusesLayout& layouts)
bus.layout = set;
if (! set.isDisabled())
bus.lastLayout = set;
newNumberOfIns += set.size();
}
for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx)
@@ -923,9 +927,11 @@ bool AudioProcessor::applyBusLayouts (const BusesLayout& layouts)
bus.layout = set;
if (! set.isDisabled())
bus.lastLayout = set;
newNumberOfOuts += set.size();
}
const bool channelNumChanged = (oldNumberOfIns != getTotalNumInputChannels() || oldNumberOfOuts != getTotalNumOutputChannels());
const bool channelNumChanged = (oldNumberOfIns != newNumberOfIns || oldNumberOfOuts != newNumberOfOuts);
audioIOChanged (false, channelNumChanged);
return true;


Loading…
Cancel
Save