1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

AAX Client: Manually declare compatibility with all channel layouts for MIDI FX

Previously, MIDI FX plugins would only load on mono tracks.

Now, we add a separate plugin description for each potential track
layout. This is the same approach used by the example MIDI FX from the
AAX SDK.
This commit is contained in:
reuk 2025-07-30 13:37:59 +01:00
parent fa0ed2801d
commit aebba3c875
No known key found for this signature in database

View file

@ -2414,9 +2414,6 @@ namespace AAXClasses
aaxInputFormat = aaxOutputFormat;
#endif
if (processor.isMidiEffect())
aaxInputFormat = aaxOutputFormat = AAX_eStemFormat_Mono;
check (desc.AddAudioIn (JUCEAlgorithmIDs::inputChannels));
check (desc.AddAudioOut (JUCEAlgorithmIDs::outputChannels));
@ -2586,10 +2583,16 @@ namespace AAXClasses
// MIDI effect plug-ins do not support any audio channels
jassert (numInputBuses == 0 && numOutputBuses == 0);
if (auto* desc = descriptor.NewComponentDescriptor())
for (const auto format : aaxFormats)
{
createDescriptor (*desc, plugin->getBusesLayout(), *plugin, pluginIds, numMeters);
check (descriptor.AddComponent (desc));
const auto channelSet = channelSetFromStemFormat (format, false);
const AudioProcessor::BusesLayout layout { { channelSet }, { channelSet } };
if (auto* desc = descriptor.NewComponentDescriptor())
{
createDescriptor (*desc, layout, *plugin, pluginIds, numMeters);
check (descriptor.AddComponent (desc));
}
}
}
else