<br><br><div class="gmail_quote">On Mon, Apr 15, 2013 at 1:06 PM, taktik <span dir="ltr"><<a href="mailto:taktik@renoise.com" target="_blank">taktik@renoise.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><div class="im">
> Looks cool, but someone's understanding of the VST spec is wrong. Probably<br>
> Ardour's.<br>
> This puppy calls audioMasterNeedIdle while being instantiated. Not cool.<br>
> Will fix A3 ASAP.<br>
<br>
</div>From my understanding "audioMasterNeedIdle" should not directly result<br>
into an idle call, but informs the host that the plugin wants<br>
"effIdle" calls. The specs are not really clear here though. "effIdle"<br>
also is NOT "effEditIdle" which drives the plugins GUIs, but a general<br>
idle function which should be called even when the editor is not open.<br>
We ended up removing the "audioMasterNeedIdle" call in Glitch 2.0.1<br>
now, which got released a few hours ago, cause this obviously caused<br>
more troubles than fixing anything.<br></blockquote><div><br>sure. the issue here was that making an audioMaster callback requires that the host has a fully constructed plugin handle to work with, including the "user data" for the plugin handle. ardour wasn't setting the "user data" pointer until AFTER instantiation, but glitch went ahead and made the call anyway. <br>
<br>ardour 3.x has been "fixed" but the fix breaks most/all Loomer VST plugins who now find that their "early" audioMaster callbacks actually succeed!<br><br>what a messed up API.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
We thought it's a good idea to call "audioMasterNeedIdle", to make<br>
sure that we do get idle calls at all from the host. We do rely on<br>
this on Linux, because we need to do some housekeeping in the UI<br>
thread, but  found no way to get constantly called in the UI thread<br>
without relying on the host's idle calls</blockquote><div><br>all true. but ... one of the issues with glitch as it stands is that it does GUI-related stuff even when there is no GUI. there is no reason to ask for idle callbacks until effEditOpen has been called. you also should not be attempting to find GUI resources in the plugin instantiation code - the plugin may be running on a system with no GUI at all. <br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Tested this a lot during the last days on various systems, but could<br>
not really replicate this here. Would be great if someone who could<br>
easily replicate this before could test this again with the latest<br>
Glitch 2.0.1 update. And If it still crashes, give us some more<br>
details about the used system and host. A stack trace of such a crash<br>
would help a lot too.<br></blockquote><div><br>there are no details in the stack trace because your plugin is distributed without symbols. <br><br>--p<br></div></div>