While working on a sampler abstraction (which I will hopefully post here in a couple of days) I stumbled across a way to reset the phase of [phasor~] in between block boundaries. It's simpler than the [vphasor~] posted by Claudius a while back, and since it doesn't rely on [vline~] to generate the ramp (it actually just wraps [phasor~]) the frequency can be changed at audio rate. It can therefore act as a drop-in replacement for [phasor~], except that [vphasor.mmb~] won't accept arguments*. (This is because [inlet~] spits out zero until it gets updated outside the abstraction. If someone knows a workaround for this, let me know.)

I haven't tested this extensively, but I'm pretty sure it works correctly.

*Update 3/30/2010: [vphasor.mmb~] now works correctly when given a frequency argument.

*Update 3/31/2010: fixed bug where opening a patch with a signal connected to [vphasor.mmb~] with a frequency argument resulted in the wrong frequency.

*Update 4/15/2010: slightly modified the helpfile to make it more illustrative.

http://www.pdpatchrepo.info/hurleur/vphasor.mmb~-help.pd