2012/5/25 Jeremy Salwen <[email protected]>: > 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 _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
