On Tue, May 29, 2012 at 09:48:10AM -0400, Paul Davis wrote:
the question really is under what circumstances should
the host/user call
deactivate/activate?
if the host/user has done this, then they should be clear on the
consequences. you don't call these functions in order to bypass a plugin.
you call them specifically when there is a need to completely reset the
state of the plugin.
I've always lookat at activate() as part of the sequence
required to load a plugin and make it work, not as something
ever explicitly done by the user. If a plugin needs a 'Reset'
(some do, it depends on the particular effect), it should have
a Reset button.
Since in LV2 activate() and deactivate() do not affect port
connections, I'd say they should not reset any controller
values that the plugin gets from MIDI input. The controller
remains connected, but it doesn't know it should resend its
current value if the plugin would reset it.
AFAICS, Ardour's 'activate' and 'deactivate' (at least for
LADSPA plugins) do not call those functions, they just change
the signal routing. Which looks to me as the right thing.
Another questions if a host bypasses a plugin, should it still
provide input signals to the plugin and run its process() ?
I tend to say yes - it's what you usually get on real mixers
when patching an outboard processor, and it can be useful
in some cases when working 'life', e.g. to set up a dynamics
processor (which requires input) before inserting it.
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)