Other people on here might have other suggestions, but I'd try separating the effect type parameter and the effect type selector control. This way kEffectType can be stored in presets and modified by the host, and the OnParamChange case for kEffectTypeSelector would be able to change kEffectType's value as well as include code to reset the parameters to default.
A while ago I'd have set up an OnClick or IsClicked function in the control, but I think the above would be cleaner and more efficient.
|