A plugin needs to define it's parameters during a describe action. It does this with the
function, which returns a handle to a parameter
. Parameters cannot currently be defined outside of the plugins describe actions.
Parameters are uniquely labelled within a plugin with an ASCII null terminated C-string. This name is not necassarily meant to be end-user readable, various properties are provided to set the user visible labels on the param.
All parameters hold properties, though the exact set of properties on a parameter is dependant on the type of the parameter.
A parameter's handle comes in two slightly different flavours. The handle returned inside a plugin's describe action is not an actual instance of a parameter, it is there for the purpose description only. You can only set properties on that handle (eg: label, min/max value, default ...), you cannot get values from it or set values in it. The parameters defined in the describe action will common to all instances of a plugin.
The handle returned by
outside of a describe action will be a working instance of a parameter, you can still set (some) properties of the parameter, and all the get/set value functions are now useable.