I think what's confusing is that vline~ (if given the messages: 0 1 1.451247
makes a segment from 0 to 1 lasting exactly 64 samples (assuming a sample rate of 44100 so that 1.451247 msec is 64 samples).
It does this, but the endpoints of the segment are places at the end of the previous block and at the end of the next block, corresponding to logical times -1 and +63 samples relative to the timing of the message. (assuming the labeling proopsed here:
http://msp.ucsd.edu/techniques/latest/book-html/node42.html
.)
So vline~'s output achieves a delay of -1 sample.
On the other hand, if we label the audio samples differently with respect to the control period, we get a different delay. The precise way the two time stamps line up is arbitrary, up to + or - (blocksize) samples; i.e., one could have labeled the samples of the block as the bottom half of the figure, 4...7 instad of 0...3 - or indeed, anything in between. Under these assumptions, the delay of the output can be understood to range from -1 to (blocksize-1) samples.
My decision in vline~ was to reduce the output delay to the smallest achievable amount. Why? Well, because... why any greated, and equally arbitrary, delay?
cheers Miller
On Sun, May 15, 2016 at 02:36:08PM +0200, Thomas Grill wrote:
That is a consequence of a given time interval > 0.
If the given time interval is zero, it should start with 0.
Erratum: i meant to write that the output should start with 1.