[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.


More information about the Linux-audio-dev mailing list