The issue is with automation or the above mentioned mapping to a host controller: Consider a plugin having a filter frequency parameter ranging from 20 to 20k that a user wants to automate from 20 to 80 Hz. This is three out of ten octaves or about 30% of a normalized parameter range (using a logarithmic mapping). In a linear mapping the user has to fiddle with a change of about 0.4% of the whole range. The alternative of using a range between 0 and 1 lacks the ability to set automation points to a specific frequency.mystran wrote: Fri Dec 17, 2021 10:37 pmGiven that there seems to be "value to text" and "text to value" callbacks for the host to convert back and forth between the actual values and their textual representations, I don't personally see a huge issue with allowing any arbitrary range. If one prefers to work with normalized (and I certainly do) then just specify [0,1] as the range for every parameter and just do the conversion for the host in the string formatting?jussi_neuraldsp wrote: Fri Dec 17, 2021 11:29 amI agree. There should be value_to_normalized and normalized_to_value callbacks available for more practical control from plugin editor controls, host automation lane etc.noizebox wrote: Fri Dec 17, 2021 10:40 am One thing that caught my eye was the min and max values for parameters, but no mention of how to deal with non-linear curves (frequency and time parameters for instance) of parameters. One of the things that VST3 got right imo, was to force parameter modulation to a normalised 0-1 range, while at the same time providing functions to convert to and from normalised and scaled values for display. That way curves and scaling could be left to the plugin and it was dead simple to map a parameter to a controller knob or similar.
Maybe the normalization doesn't have to be in the parameter definition itself but could be done via an extension that could be used only for parameters that don't use a linear range.
