Dynamically changing a plugins parameters


I'm currently building a plugin whose available controls/parameters change a lot, and I feel like I need some clarification on the best way to dynamically tell the host when the available set of parameters change so that the automation list can be updated correctly. 

Am I right in thinking that each set of parameters should be set as a Program and then every time the set of controls change within my plugin I call AudioProcessor::setCurrentProgram() to let the host know? Or is my thought process just completely wrong?


You saw the AudioProcessor::setParameterNotifyingHost() method?  That does a pretty good job.

That said, some hosts don't handle this very well.