AudioUnit validates, but fails to load in Logic

Built with SDK 10.10, works in Ableton live 9.

Validates in Logic, but when added to a track strip fails with the message “Failed to load Audio Unit ‘X’, please contact the manufacturer for an updated version or further assistance.”

Has anybody else seen this? The AU loads fine in Ableton Live.

LPX or LP9?

Logic Pro X

Make sure your architecture is @ 64bit

I’ve tried 32, 64, and 32/64 universal. I’ll give it another whirl, but wanted to make it clear that the AU shows up in LPX just fine. I’m aware that LPX only supports 64-bit plugs, and the issue isn’t that is doesn’t show up, but that it crashes when added to a channel strip. (even though it validates correctly)

I had this message once in the past. Not sure it will be the same for you, but here it turned out to be related to the channels config. I was messing it up, adding some input channels to an instrument, something like that.

Yeah please paste your setPrfeferredBusArrangement here. Also, remember to always re-scan your plug-in in the plug-in manager of Logic!

exactly. for a synth with multibus stereo outputs the only config working in logic is this:

bool setPreferredBusArrangement(bool isInputBus, int busIndex, const AudioChannelSet& preferredLayout)
{
	const int numChannels = preferredLayout.size();

	// we only accept the first N stereo output busses
	if (isInputBus || numChannels != 2 || (busIndex >= busArrangement.outputBuses.size() && preferredLayout != AudioChannelSet::disabled()))
		return false;

	// when accepting a layout, always fall through to the base class
	return AudioProcessor::setPreferredBusArrangement(isInputBus, busIndex, preferredLayout);
}

thus you are rejecting:

  • any input bus
  • bus with channels is any configuration different than 2
  • enabled bus in any configuration of channels greater than the number of bus you have (logic always try to open your plugin with 8xStereo or even 16xStereo)

EDIT: this is not working if used in AudioProcessorPlayer, as the aux busses could be disabled.