I think I may be missing something fundamental about how redraws are supposed to work in the JUCE Audio Plugin framework (1.16).
In DemoEditorComponent::updateParametersFromFilter() it repaints the entire window (with the comment that this is inefficient, which makes sense).
Obviously, I’d only wish to update those components whose contents were changed as a result of the parameter update, and the repaint routines within component setValue-type calls seem to be invoked only when the contents of components are changed (which again makes sense).
However, I have a slider component whose visibility is dependent on the value a parameter from my Editor::updateParametersFromFilter():
bool isDropEnabled = filter->getParameter(offsetBase + kModeOffset)==1.0f;
speedKnob[i]->setVisible(isDropEnabled);
When this is set to invisible, I would expect the parent (in this case the editor window) to repaint the background area, but it doesn’t appear to do this.
This suggests that I have to keep track of whether this control has changed and repaint the background manually if the control has been made invisible - is this correct, or am I missing something glaringly obvious (quite possible, I’m sure)?
Cheers,
Steve.