On April 10, 2013 08:42:25 AM Paul Davis wrote:
Apologies for the dev-ish talk below...
Thanks for the hints Paul.
In MusE I had sound, GUI would open but just hang just like a couple of
other of these native vst synths.
Got me curious so I found a couple of bugs and rearranged a couple of things.
Then I found the cause was I was not calling effEditIdle periodically.
Luckily we've got such a leisurely-rate timer handy slot in our synth classes.
So a one-line fix. Boom we got GUI now!
(Rats, a few others still don't open.)
I also tried calling effIdle periodically too which I've never done, just like
the plugin asks. But it alone did not help.
This forum helped in regard to the idle calls:
Neat plugin, tried the sequencing and so on, it works (nice to know my
time callback is still working).
About Paul's item a)
Yeah seems a little bit not like all the others I've tested...
About item b)
Yeah several do that here.
About item c)
No trouble here moving all controls.
No trouble automating and playing back control movements too, in MusE.
Paul, I had found a couple of plugins that had real odd behaviour with respect
to stuck controls which I just couldn't move - they'd just jump back.
One such plugin was called VEX. I think another may have been Discovery.
Don't know if Glitch is another.
So I had to be careful and add the following kind of section in our process,
where I specifically have to write-back any new port value to the plugin.
_controls is the port array, and v is an incoming GUI-control-initiated FIFO
event buffer item:
_controls[v.idx].val = v.value;
if(dispatch(effCanBeAutomated, v.idx, 0, NULL, 0.0f) == 1)
if(v.value != _plugin->getParameter(_plugin, v.idx))
_plugin->setParameter(_plugin, v.idx, v.value);
Linux-audio-user mailing list