# Logic requiring a sidechain input? "Failed to Load Audio Unit"

**URL:** <https://forum.juce.com/t/logic-requiring-a-sidechain-input-failed-to-load-audio-unit/34685>\
**Category:** Audio Plugins\
**Created:** [August 6, 2019, 6:56pm UTC](https://forum.juce.com/t/logic-requiring-a-sidechain-input-failed-to-load-audio-unit/34685 "2019-08-06T18:56:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![apple412](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/apple412/32/6788_2.png) [@apple412](https://forum.juce.com/u/apple412)\
**Post date:** [August 6, 2019, 6:56pm UTC](https://forum.juce.com/t/logic-requiring-a-sidechain-input-failed-to-load-audio-unit/34685/1 "2019-08-06T18:56:48Z")

</div>

Hi all,

Having an issue where logic is “forcing” me to have a sidechain input, even though I don’t want one.

My code is as follows:

```
bool EuropaPluginProcessor::isBusesLayoutSupported(const BusesLayout& layouts) const
    
{
    
    if (layouts.getMainInputChannels() > 2 || layouts.getMainOutputChannels() > 2)
    
    {
    
	    return false;
    
    }
    
      
    
    // no suport for stereo to mono
    
    if (layouts.getMainInputChannels() == 2 && layouts.getMainOutputChannels() == 1)
    
    {
    
	    return false;
    
    }
    
      
    
    const bool kOutput = false;
    
      
    
    // All additional output buses need to be mono
    
    for (int bus = 1; bus < layouts.outputBuses.size(); ++bus)
    
    {
    
            if (layouts.getChannelSet(kOutput, bus).size() != 1)
	    
	    {
	    
		    return false;
	    
	    }
    
    }
    
      
    
    // LOOK HERE!!!!!!
    
    if (layouts.inputBuses.size() != 1)
    
    {
    
    return false;
    
    }
    
      
    
    return true;

}

  

// setting up the initial bus properties

AudioProcessor::BusesProperties PassthroughBlock::getBusLayout()

{

    BusesProperties buses{};

    // Add main buses
    
    bool defaultActivation = true;

    // TODO: This should determine its I/O topology from the submodules.

    buses.addBus(true, "Input", AudioChannelSet::stereo(), defaultActivation);
    
    buses.addBus(false, "Output", AudioChannelSet::stereo(), defaultActivation);
    
    return buses;

}

```

When I comment out the “LOOK HERE” section. The plugin is able to load in logic in all bus formats, with the sidechain combo box visible.

When I leave that in, the plugin is unable to load and fails with the error text:

" Failed to load Audio Unit “Europa Demo”, please contact the manufacturer for an updated version or further assistance.”

and the logs of my project say:

ca\_require: ValidFormat(inScope, inElement, newDesc) InvalidFormat /Users/cjappl/Documents/Code/cjappl\_europa\_main/contrib/JUCE-5.4.2/modules/juce\_audio\_plugin\_client/AU/CoreAudioUtilityClasses/AUBase.cpp:870

I went in to the NoiseGate example (which has a sidechain input). And all it took was removing that input and re-scanning and the sidechain combo box was gone.

Any thoughts?

---

<div class="post-metadata">

**Author:** ![ttg](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ttg/32/14456_2.png) [@ttg](https://forum.juce.com/u/ttg)\
**Post date:** [August 10, 2019, 6:38am UTC](https://forum.juce.com/t/logic-requiring-a-sidechain-input-failed-to-load-audio-unit/34685/2 "2019-08-10T06:38:02Z")

</div>

AU is tricky in that you have multiple ‘type’ of effects.  
[https://developer.apple.com/documentation/audiotoolbox/audiotoolbox\_enumerations/1584142-audio\_unit\_types](https://developer.apple.com/documentation/audiotoolbox/audiotoolbox_enumerations/1584142-audio_unit_types)

So it is possible to set incorrect/invalid AU type and channel configuration.  
if you’ll show your type (or full auval log) it’ll be a little easier to see if there’s a mismatch.
