On Sat, Apr 13, 2013 at 9:34 AM, Dan MacDonald <allcoms@xxxxxxxxx> wrote: > This has been great to see the devs of Ardour, qtractor and MusE all working > on the same problem simultaneously! I can't say I've seen that before so it > proves this plugin has peoples interest. Indeed! Thanks for all the feedback and comments. VSTs on Linux are still pretty experimental. Would be great if we all (host and plugin devs) could try to help each others here to get things working. As Kieran pointed out, I'm responsible for some parts of the plugin backend in Glitch, so here are a few more comments and technical details about previously discussed stuff: --- > Looks cool, but someone's understanding of the VST spec is wrong. Probably > Ardour's. > This puppy calls audioMasterNeedIdle while being instantiated. Not cool. > Will fix A3 ASAP. >From my understanding "audioMasterNeedIdle" should not directly result into an idle call, but informs the host that the plugin wants "effIdle" calls. The specs are not really clear here though. "effIdle" also is NOT "effEditIdle" which drives the plugins GUIs, but a general idle function which should be called even when the editor is not open. We ended up removing the "audioMasterNeedIdle" call in Glitch 2.0.1 now, which got released a few hours ago, cause this obviously caused more troubles than fixing anything. We thought it's a good idea to call "audioMasterNeedIdle", to make sure that we do get idle calls at all from the host. We do rely on this on Linux, because we need to do some housekeeping in the UI thread, but found no way to get constantly called in the UI thread without relying on the host's idle calls. On Windows we do so via a "SetTimer", on OSX via "InstallEventLoopTimer". On Linux there seems to be no equivalent timer which gets called in the "XEvent" loop. Juce based plugins workaround this by creating a new thread for just this on Linux (a "message thread" in Juce terminology - if I remember correctly) which does general UI thread housekeeping and also drives the plugin GUI when the host does not call "effEditIdle". We wanted to avoid creating a new thread for just this, cause such a thread will then run concurrently with the host's UI thread which is a guarantee for unnecessary overhead and of course in general a hassle to setup and maintain. This is also the reason why the Glitch GUI does not work in qtractor and muse. qtractor and muse do not call "effEditIdle", even when the plugin GUI is open. So if qtractor and muse could be patched to call "effEditIdle" for all open plugin editors this would avoid a lot of hassle here. --- > it crashes during shutdown Tested this a lot during the last days on various systems, but could not really replicate this here. Would be great if someone who could easily replicate this before could test this again with the latest Glitch 2.0.1 update. And If it still crashes, give us some more details about the used system and host. A stack trace of such a crash would help a lot too. Greets, Eduard / taktik / renoise.com _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user