C++ SimpleEQ Build

Hi Everyone,

I need some help with regards to the c++ simpleEQ build.

I am at around 30 mins into the class and every time I try to build the basic EQ it keeps failing. the message that comes up is this " JUCE Assertion failure in juce_AudioProcessor.cpp:440"

I am really stuck and I’ve been following the class really closely. Ive deleted everything and reinstalled and its still doing this.

Please Help

1 Like

I’m not sure anyone can help you unless they can have access to your code.

How can I give access to the code ?

I think the most common way is to put it in github.

You have to add juce::ParameterID{"parameterID", versionHint} OR juce::ParameterID("parameterID", versionHint) as the 1st argument of parameter constructor in PluginProcessor.cpp.

Change your code to

juce::AudioProcessorValueTreeState::ParameterLayout SimpleEQAudioProcessor::createParameterLayout() {
    juce::AudioProcessorValueTreeState::ParameterLayout layout;
    
    layout.add(std::make_unique<juce::AudioParameterFloat>(juce::ParameterID{"LowCutFreq", 1}, "LowCutFreq", juce::NormalisableRange<float>(20.f, 20000.f, 1.f, 1.f), 20.f));
    
    layout.add(std::make_unique<juce::AudioParameterFloat>(juce::ParameterID{"HighCutFreq", 1}, "HighCutFreq", juce::NormalisableRange<float>(20.f, 20000.f, 1.f, 1.f), 20000.f));
    
    layout.add(std::make_unique<juce::AudioParameterFloat>(juce::ParameterID{"PeakFreq", 1}, "PeakFreq", juce::NormalisableRange<float>(20.f, 20000.f, 1.f, 1.f), 750.f));
    
    layout.add(std::make_unique<juce::AudioParameterFloat>(juce::ParameterID{"PeakGain", 1}, "PeakGain", juce::NormalisableRange<float>(-24.f, 24.f, 0.5f, 1.f), 0.0f));
    
    layout.add(std::make_unique<juce::AudioParameterFloat>(juce::ParameterID{"PeakQuality", 1}, "PeakQuality", juce::NormalisableRange<float>(0.1f, 10.f, 0.05f, 1.f), 1.f));
    
    juce::StringArray stringArray;
    for (int i = 0; i < 4; ++i) {
        juce::String str;
        str << (12 + i*12);
        str << " db/Oct";
        stringArray.add(str);
    }
    
    layout.add(std::make_unique<juce::AudioParameterChoice>(juce::ParameterID{"LowCutSlope", 1}, "LowCutSlope", stringArray, 0));
    
    layout.add(std::make_unique<juce::AudioParameterChoice>(juce::ParameterID{"HighCutSlope", 1}, "HighCutSlope", stringArray, 0));
    
    return layout;
}

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.