From 3b4b5da2517085b3355f1bb7bbae2b0d103d2575 Mon Sep 17 00:00:00 2001 From: Zachary Fogg Date: Sat, 6 Dec 2025 00:21:33 -0500 Subject: [PATCH] Fix AudioPluginInstance template constructor parameter type The template constructor's parameter `const short channelLayoutList[numLayouts][2]` decays to `const short (*)[2]` (pointer to array), which doesn't match any AudioProcessor constructor. Changed to `const short (&channelLayoutList)[numLayouts][2]` (reference to array) to preserve the array type and match the AudioProcessor template constructor that accepts `const short (&)[numLayouts][2]`. This fixes the compilation error: error: no matching constructor for initialization of 'AudioProcessor' AudioPluginInstance (const short channelLayoutList[numLayouts][2]) : AudioProcessor (channelLayoutList) {} --- .../processors/juce_AudioPluginInstance.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.h b/modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.h index 2f70906db4..b6e5834a2d 100644 --- a/modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.h +++ b/modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.h @@ -170,7 +170,7 @@ protected: AudioPluginInstance() = default; AudioPluginInstance (const BusesProperties& ioLayouts) : AudioProcessor (ioLayouts) {} template - AudioPluginInstance (const short channelLayoutList[numLayouts][2]) : AudioProcessor (channelLayoutList) {} + AudioPluginInstance (const short (&channelLayoutList)[numLayouts][2]) : AudioProcessor (channelLayoutList) {} private: // It's not safe to add a plain AudioProcessorParameter to an AudioPluginInstance.