On Tue, May 14, 2013 at 1:37 PM, J. Liles <malnourite(a)gmail.com> wrote:
It is a flaw in the design of LV2 that custom plugin GUIs both run in the
host process and have access to the DSP part of the plugin's internal
state. This was deemed necessary, I believe, in order to cater to vendors
of proprietary plugins,
this is false.
but the universal human trait of laziness means that
it will always and
constantly be used as a way to bypass any difficult aspect of GUI to DSP
communication.
this is arguably true.
Without completely removing this mechanism and forcing custom plugin GUIs
to run in a separate process (and therefore use a formally defined
interface to the DSP component) LV2 will always be inadequate for your
purposes.
forcing IPC on the GUI is (a) stupidly expensive (b) stupidly complex (c)
limits host options.
LV2 has followed the same model as AudioUnit, in which there is documented
emphasis on NOT using any backdoor communication techniques between the DSP
and GUI, including a mention that the plugin may not even run on the same
machine as the GUI, but there is no requirement that GUIs are in separate
processes.
the correct solution here is the same one that apple used: provide the
right, easy to use, powerful communication mechanisms between the GUI and
the DSP. the facilities made possible by the AU SDK are quite remarkable
for this.