Meta-parameters when using ParameterLayout

here is a simple solution to add meta support to your param classes :

template <typename ParameterType>
struct MetaParameter : public ParameterType
{
    static_assert (std::is_base_of<AudioProcessorParameter, ParameterType>::value,
                   "ParameterType must be a juce::AudioProcessorParameter.");
    using ParameterType::ParameterType;
    bool isMetaParameter() const override { return true; }
};

you can then build your param as usual:

std::make_unique<MetaParameter<AudioParameterFloat>> ("theParamID", "a meta param",
                                                      NormalisableRange<float> (0.f, 1.f), 0.f);
8 Likes