Pluginval and ParameterAttachments

Hello all, I have a question about pluginval and juce::SliderAttachment. In the pluginval::ParameterThreadSafetyTest I see this:

// This emulates the plugin itself setting a value for example from a slider within its UI
juce::MessageManager::callAsync ([&, threadRandom = r]() mutable
                            {
                                startWaiter.signal();

                                for (int i = 0; i < numBlocks; ++i)
                                     for (auto param : parameters)
                                         param->setValueNotifyingHost(threadRandom.nextFloat());

                                endWaiter.signal();
                            });

Is this an accurate emulation of a UI change when using juce::SliderAttachment? There is no beginGesture() or endGesture() . Also when setValue() is called it on a juce::ParameterAttachment it sets the ignoreCalls = true .

It seems like this test could introduce GUI vs. Audio thread issues in parameters that are protected from said issues by their juce::SliderAttachment. I’m curious about this one! I’m probably wrong lol.

all help appreciated!

2 Likes