<div dir="ltr"><div class="gmail_extra">Please include list in replies (reply-all), it's useful for people with similar questions in future.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 21, 2013 at 7:46 PM, Warren Koontz <span dir="ltr"><<a href="mailto:profwub@gmail.com" target="_blank">profwub@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>It now seems to me that the "control signals" are only available in run(). I had assumed that they were also available in activate() and deactivate().</div>
</div></blockquote><div> </div><div>Activate() docs, state explicity that connect_port() may be called before or after activate(). That means, no port information available.<br><a href="http://lv2plug.in/doc/html/structLV2__Descriptor.html#af65673266e8da03aee22eaed10a7a0f4">http://lv2plug.in/doc/html/structLV2__Descriptor.html#af65673266e8da03aee22eaed10a7a0f4</a><br>
<br>In activate you can zero your buffers and do other housekeeping that doesn't require user input.<br></div><div>Perhaps even set-up your 'verb based on the last set of user-input: By keeping a cache of user-input in your plugin's state. (this is only useful it its already run() before, not for the 1st time setup).<br>
</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<div>My algorithm is basically as follows:</div><div><br></div><div><font face="courier new, monospace">Initialize left and right reverb with user parameters</font></div><div><font face="courier new, monospace">Do</font></div>

<div><font face="courier new, monospace">    Process block of audio data</font></div><div><font face="courier new, monospace">Until there are no more blocks</font></div><div><font face="courier new, monospace"><br></font></div>

<div><font face="arial, helvetica, sans-serif">If I have to do all of this in run(), then I need a way to know that I am processing the first block. Help!</font></div></div></blockquote></div><br></div><div class="gmail_extra">
Keep a bool "haveUserInput" in your state, set it to false in initialize(). In run() <br>if ( haveUserInput == false ) {<br></div><div class="gmail_extra">  setupReverb();<br>}<br><br></div><div class="gmail_extra">
Certain properties of your reverb calculations are more expensive than others: perhaps concider adding a port-property to that port: <a href="http://lv2plug.in/ns/ext/port-props/#expensive">http://lv2plug.in/ns/ext/port-props/#expensive</a><br>
</div><div class="gmail_extra">Hosts tell users to not automate that input... hopefully.<br><br></div><div class="gmail_extra">-Harry<br></div></div>