Hello,
I am working on merging reverb code into a compressor. The project is an amalgamation of different code bases my boss has. We are encountering some problems with unifying the GUIs and DSP of both code bases into a single AudioProcessorValueTreeState. I have been watching tutorials and reading the forums (very helpful), but have a question specifically about this exception in juce_AudioProcessorValueTreeState.cpp on lines 476-486, which does not have the helpful comments the JUCE team usually leaves in these exceptions. Can anyone point me in the right direction?
// Line 476 starts below
template <typename Attachment, typename Control>
std::unique_ptr<Attachment> makeAttachment (const AudioProcessorValueTreeState& stateToUse,
const String& parameterID,
Control& control)
{
if (auto* parameter = stateToUse.getParameter (parameterID))
return std::make_unique<Attachment> (*parameter, control, stateToUse.undoManager);
jassertfalse;
return nullptr;
}
The exception triggers on line 484 (jassertfalse;
) with the message “A breakpoint instruction (__debugbreak() statement or a similar call) was executed in SMPLComp.exe.”
The call stack is,
> SMPLComp.exe!juce::makeAttachment<juce::SliderParameterAttachment,juce::Slider>(const juce::AudioProcessorValueTreeState & stateToUse, const juce::String & parameterID, juce::Slider & control) Line 484 C++
SMPLComp.exe!juce::AudioProcessorValueTreeState::SliderAttachment::SliderAttachment(juce::AudioProcessorValueTreeState & stateToUse, const juce::String & parameterID, juce::Slider & slider) Line 492 C++
SMPLComp.exe!LabeledSlider::reset(juce::AudioProcessorValueTreeState & state, const juce::String & paramID) Line 52 C++
SMPLComp.exe!SmplcompAudioProcessorEditor::initWidgets() Line 156 C++
SMPLComp.exe!SmplcompAudioProcessorEditor::SmplcompAudioProcessorEditor(SmplcompAudioProcessor & p, juce::AudioProcessorValueTreeState & vts) Line 24 C++
SMPLComp.exe!SmplcompAudioProcessor::createEditor() Line 224 C++
SMPLComp.exe!juce::AudioProcessor::createEditorIfNeeded() Line 891 C++
SMPLComp.exe!juce::StandaloneFilterWindow::MainContentComponent::MainContentComponent(juce::StandaloneFilterWindow & filterWindow) Line 890 C++
SMPLComp.exe!juce::StandaloneFilterWindow::updateContent() Line 855 C++
SMPLComp.exe!juce::StandaloneFilterWindow::StandaloneFilterWindow(const juce::String & title, juce::Colour backgroundColour, juce::PropertySet * settingsToUse, bool takeOwnershipOfSettings, const juce::String & preferredDefaultDeviceName, const juce::AudioDeviceManager::AudioDeviceSetup * preferredSetupOptions, const juce::Array<juce::StandalonePluginHolder::PluginInOuts,juce::DummyCriticalSection,0> & constrainToConfiguration, bool autoOpenMidiDevices) Line 772 C++
SMPLComp.exe!juce::StandaloneFilterApp::createWindow() Line 78 C++
SMPLComp.exe!juce::StandaloneFilterApp::initialise(const juce::String & __formal) Line 96 C++
SMPLComp.exe!juce::JUCEApplicationBase::initialiseApp() Line 300 C++
SMPLComp.exe!juce::JUCEApplication::initialiseApp() Line 92 C++
SMPLComp.exe!juce::JUCEApplicationBase::main() Line 259 C++
SMPLComp.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 48 C++
[External Code]
I can provide additional code snippets if needed but can’t provide the entire project file as it is closed-source.
Developing in VS2022 17.6.5 on Windows 11.
Thanks,
Kris