On Wed, Feb 26, 2003 at 01:51:41 +0100, Martijn Sipkema wrote:
Well, I'll shut up about it. I still think it is a
mistake. I haven't heard
any
convincing (to me) arguments why an application should not handle variable
sized callbacks.
Because it makes certain types of processing viable, which they are not
really in variable block systems (eg. LADSPA, VST). Have a look at an
phase vocoder implementation in LADSPA (e.g.
http://plugin.org.uk/ladspa-swh/pitch_scale_1193.xml) or VST and see how
nasty and inefficient they are.
Conversly we haven't heard any convincing arguments about why we should
have variable block sizes ;) I don't think that allowing (some?) USB
devices to run with less latency counteracts the cost to block processing
algorithms.
VST process() is variable size I
think as are EASI xfer
callbacks, but clearly JACK needs constant callbacks and there is nothing
I can do about that...
I wouldn't hold up VST as a good example, it has many design flaws IMHO.
As Paul pointed out VST and LADSPA require variable sized blocks becuase
they have no event system. I dont know what EASI xfer is. Its not JACK
that needs the fixed sizes, its that applications, JACK itsself couldn't
care less.
- Steve