Any way to dynamically change DAW min, max, default params?

I was wondering if it is possible to dynamically change the min, max, and default setting of a DAW parameter. I’m asking because I dynamically change (populate) my effect components to reflect what effect is inserted, as in for example either a Chorus, Distortion, Flanger, or Phaser which for these effect all use a “Feedback” control, but which min, max, and default setting is slightly different.

I create my DAW parameters here;

AudioProcessorValueTreeState::ParameterLayout createParameterLayout ()
{
	AudioProcessorValueTreeState::ParameterLayout params;

    for (int module = 0; module < maxModules; module++)
	{
      params.add (std::make_unique<AudioParameterFloat> (String (module) + 
"SFXChorusFeedbackID", "SFX " + String (module + 1) + 
" Chorus Feedback", -0.5f, 0.5f, 0.0f));

      params.add (std::make_unique<AudioParameterFloat> (String (module) + 
"SFXDistortionFeedbackID", "SFX " + String (module + 1) + 
" Effect Feedback", -1.0f, 1.0f, 0.0f));

      params.add (std::make_unique<AudioParameterFloat> (String (module) + 
"SFXFlangerFeedbackID", "SFX " + String (module + 1) + 
" Flanger Feedback", -0.5f, 0.5f, 0.25f));

      params.add (std::make_unique<AudioParameterFloat> (String (module) + 
"SFXPhaserFeedbackID", "SFX " + String (module + 1) + 
" Phaser Feedback", -0.65f, 0.65f, 0.0f));
    }

Then in PluginEditor I do a SliderAttachment these above four to the same component knob via valueTreeState, but this creates the problem that min, max, and default is not behaving correctly. Any ideas?

I may not have been specific enough in my above post.

I want to reduce my above four similar feedback parameters, to only one and then off course also only one PluginEditor attachment, but it would require I can change min, max, and default values dynamically.

So is it possible to edit min, max, and default settings of a DAW parameter once “added”?

I don’t think hosts would know what to do with that change. But you could just use 0.0…1.0 floats, so that normalized and non-normalized values are the same, and translate them yourself to “world” values when you need those, using lambdas in the range object for that parameter. That way, you could just change the values that are used in those lambdas. Of course, the values would only show up as 0.0…1.0 in any automation lane, but it seems to me like this should work for your purposes.