On Mon, Dec 09, 2002 at 03:00:50PM +0100, David Olofson wrote:
That's the feedback loop problem. As long as the
host runs plugins in
the correct order, you'll never see this unless you *actually* have
loops in your network.
Like in your example ;)
The way VST does it however, that wouldn't be
needed, since
timestamps are related to buffers. 0 == start of this buffer. Might
look nice to plugins, but I forsee minor nightmares in multithreaded
hosts, hosts that want to split buffers, hosts that support different
buffer sizes in parts of the net, hosts that support multiple sample
rates in the system, communication over wire,... (Yet another reason
why I think the VST event system is a pretty bad design.)
Hmm.. I can see why this is tempting, it avoids the wrapping problem,
among other things. Are you sure its not better that way?
Speaking of which what is the conventioanl wisdom on timestamp sizes, 32
sounds dangerous (all the plugins have to work correctly accross the
boundary, hard). and 64 sounds a bit wastefull, though its 4M years at
192k, so you dont have to worry about wrapping ;)
BTW, feedback loops would be the major reason why a
host would want
to run parts of the net with smaller buffers. See why I discarded the
idea of buffer related timestamps? :-)
Ouch. Changing the buffer size sounds messy and inefficient.
- Steve