<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,</p>
<p>the old problem: control ports are READ_ONLY in LV2. Me and other
plugin programmers struggle about it. I know it has been discussed
here before and I know the workarounds (like parameters) and their
limitations.</p>
<p>Actually I read in unfa's software chat that the Surge
programmers team are struggling about this problem too:<br>
</p>
<p>
<blockquote type="cite"><span><code class="code-colors inline">We
made this choice because parts of the current LV2 spec and
Surge are incompatible in a couple of ways, most importantly
in the LV2 assumption that plugins never modify their
control input port. Actions like ‘changing parameter types
when an effect changes’ or ‘patch changes’ are not
compatible with this design constraint. As a result, the LV2
- especially in Ardour - unreliably saves and restores
state. The solution - which we are working on - is to use
new LV2 APIs that allow current Surge behavior (and match
what other plugin specs like AU and VST do).</code></span><code></code><br>
</blockquote>
</p>
<p><br>
</p>
<p>My request: LV2 UI can call the host to change control port via
the write_function(). I don't see such an option for the DSP
instance. Why? It would be nice to have it. Or are there
restrictions why it's impossible or problematic to implement?</p>
<p>Best wishes<br>
Sven<br>
</p>
</body>
</html>