[LAD] Should LV2 Activate() clear MIDI CC parameters?
Stefano D'Angelo
zanga.mail at gmail.com
Mon May 28 15:41:51 UTC 2012
2012/5/25 Jeremy Salwen <jeremysalwen at gmail.com>:
> Hi all,
>
> The LV2 spec says that on a call to activate(), "the plugin instance MUST
> reset all state information dependent on the history of the plugin instance
> except for any data locations provided by connect_port()"
>
> I am not certain whether MIDI CC parameters are included in this category of
> "data locations provided by connect_port()". The CC parameters are sent
> through port buffers provided by connect_port(), but because they are event
> buffers, all information passed through them is necessarily part of the
> history of the plugin instance.
>
> I could imagine cases where you would want to reset all internal state of
> the plugin, but since CC values are very much like port values, they would
> be kept. On the other hand, I could also imagine cases where you would want
> to reset all internal data including the CC parameters.
>
> I'm assuming MIDI note on/off status certainly should be reset.
<personal opinion>
I have always interpreted activate()/deactivate() as a real-time safe
alternative to instantiate()/cleanup(), so I'd say restart fresh, wipe
out everything.
I do not necessarily agree that MIDI CC is like a port value, since
when the first run() after the first activate() is called and there's
no incoming CC event, however you probably need to be in a certain
"initial state".
</personal opinion>
Concrete use case would help.
Stefano
More information about the Linux-audio-dev
mailing list