> 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.