I'm
starting to agree. I really dislike the idea that the host has
to read a plugin's output control to get extra stuff for a preset.
This is not an exception. It has to do something like that all the
time, since inputs are not readable. Has everyone forgotten that?
We don't have to do this for most controls because the host knows what was
last written to each input. And we only save inputs in a preset, right?
However, these assumptions make a problem:
1) Writing a preset or saving the plugin state involves writing the value of
all the plugin's (input) controls.
2) Controls can be directly connected, needing no host intervention
3) Controls are not readable
2 and 3 lead us to conclude that if the host does not snoop every event, it
does not know the value of some controls. So how can it write them out?
Either the host has to snoop every event in order to cache every single
control change, or controls need to be directly readable somehow.
Is it so bad to have a control->get_value() method ?