On 30 Jan 2007, at 01:25, Fraser wrote:
Hi Steve,
Ah, well the host is not supposed to change port
values during run()
anyway, the idea in LADSPA (and LV2) is that the host should chop the
run() block where port values change. In practice not all hosts do
that, some just pick a suitably small block size, eg. 32 frames and
quantise the changes to that rate.
I didn't realise that - perhaps I glossed over that bit of the spec.
A block size of 32 frames would really exagerate unnecessary paramter
conversion...
Sure, which is why people do tend to do the if (oldval != newval)
thing on expensive parameter calculations. 32 is really the extreme
end, I would think that typically its higher than that.
JACK systems do run down to the 32 frame buffer level, so you have to
be able to handle it anyway. It's quite inefficient as the cost of
calling the run() function of every plugin for every block is
significant.
- Steve