hey, I tried making mine a bit more understandable
it works with any table size. Just set the size as the argument in the [table] object.
This means it works with [tabosc4~] if you'd like, and it makes the extra 3 guard points correctively.
The guard points thing and interpolation is a bit hard to grasp at first. Say you have 0-96 points, you need extra 3 points (1 in the beggining, 2 at the end) so it goes now from 0-99 and your original indexes are now from 1 to 97. The first point (0) needs to be equal to the last one (97) and then the extra two points (98-99) must be equal to (1-2).
What my patch does is get the table size and consider it has these extra points, so it writes the table values like sinesum does.
In the example I'm doing a hann window and using it as an envelope, but you could do whatever.
cheers