It doesn't have to, unless it actually cares. If
you save a preset
with a "bad" value in some field, the plugin will just fix it when
you load the preset.
There's just one problem: In what order do you write the controls
back to ensure you end up with the exact same result?
The order the plugin presents them to you? If there are dependencies
between controls can we have the plugin author be responsible for making
their indices reflect it? Otherwise we can add yet another field to
controls which says the order in which to write presets. Ick.
Serialize/deserialize solves this nicely, btw :)
Anyway, if the host *does* keep track of "last
value written",
supporting the "I'll make that X instead!" event is just a matter of
writing X into that "last value written" variable.
Exactly. If a plug doesn't support it, no big deal. If it does, cool.