tim h. had written:
>Standing proposal:
> Host processes blocks of 'n' samples. Events are delivered with a
> timestamp that says 'actuate this event at this time within this buffer'.
sounds fine, except that there are some difficult cases to handle at a
higher level. consider "actuate this event when get the following
point in the music", delivered when we are looping, and have already
passed that point in the music, yet its within the loop. the event
needs to be delivered at a point which is now in the *past*, yet will
soon be in the *future*!
but a plugin would never receive an event that said 'actuate this event at
this musical time'. Plugin-external events (i.e. from the sequencer) would
ALWAYS be related to the current buffer. Plugin internal events (for lack
of a better word) can be either 'do this in N samples' or 'do this in M
ticks' (where tick-width is calculated from tempo and rate). Alternatively,
if we have some sort of keyframe mechanism (TOCK events?) it could also
periodically sync to the host clock, but I am not sure that is needed.