Parameter Persistance

All parameters flagged with the kOfxParamPropPersistant property will persist when an effect is saved. How the effect is saved is completely up to the host, it may be in a file, a data base, where ever. We call a saved set of parameters a setup . A host will need to save the major version number of the plugin, as well as the plugin's unique identifier, in any setup.

When an host loads a set up it should do so in the following manner...

  1. examines the setup for the major version number.
  2. find a matching plugin with that major version number, if multiple minor versions exist, the plugin with the largest minor version should be used.
  3. creates an instance of that plugin with its set of parameters.
  4. sets all those parameters to the defaults specified by the plugin.
  5. examines the setup for any persistant parameters, then sets the instance's parameters to any found in it.
  6. calls create instance on the plugin.

It is not an error for a parameter to exist in the plugin but not the setup, and vice versa. This allows a plugin developer to modify parameter sets between point releases, generally by adding new params. The developer should be sure that the default values of any new parameters yield the same behaviour as before they were added, otherwise it would be a breach of the 'major version means compatibility' rule.