I'm also wondering about the timing of tabread4~'s offset inlet being updated. I get fewer clicks by tossing most of the patch into a subpatch with [block~ 1]. I haven't checked really carefully, but that does seem to make it so that clicks only occur where there are gaps in the log.txt file.
Another thing is that, even though vline~ can start ramping between block boundaries, there's still a lower limit involved. You can see in the attached patch that you can't get a period less than about 88 samples (or 44 samples for each half of the triangle wave). Seems like that shouldn't be affecting you though, since you're retriggering every ~180 samples.
more like every ~180 ms :)
I won't be getting here into that kind of micro-control. It was more about
the precision of several fragments being played as one sound.