[PD] timing question

Frank Barknecht fbar at footils.org
Mon Dec 17 17:01:48 CET 2007

Derek Holzer hat gesagt: // Derek Holzer wrote:

> OK, thanks for going into it a bit more. Makes sense to me, of course, 
> but I'll have to chew on it a while and think of a way to communicate it 
> without twisting up people's heads too much at too early a part of the 
> workshops ;-)

Actually for workshops it's easy: A [metro 1] will send a bang every 1
msecs, regardless what's happening with audio. Nothing complicated
about that. In Max/MSP it's more complicated, as a [metro 1] may send
bangs with varying periods of not always 1msec. But Pd is easy.

Though, even in Pd, GUI messages are treated special: If you click on
a [bang( message, this will only be evaluated every 64 samples. But
you probably cannot click the mouse repeatedly with a constant 1 msec
period anyways, so it shouldn't matter.

The second thing, people need to learn then is, that most signal
objects can only be scheduled on block boundaries. So if you send a
new frequency to an [osc~] as a float message, the osc~ will not
respond immediatly, as it has already calculated the next block of
samples. So the new frequency can only be taken into account for the
next block after that. IIR block here means 64 samples always,
regardless of block~ size. But I may be wrong about that.

[vline~] is one of the few special objects which additionally can
"look into the future" and change it's value kind of in the middle of
a block (other objects like that are vsnapshot~ and Claude's wonderful
analogue-envelope generator - and I'm working on making the as of now
unreleased lua~/vessel~ external clock-aware, too). But this "see the
future" only works for messages, that Pd already knows about, and
these are messages that originate in a clock-based object like metro,
delay, pipe, etc.  Messages not coming from there, i.e. GUI messages,
cannot be known in advance of course. But as these are quantized to
64 samples anyway, it doesn't matter most of the time.

 Frank Barknecht                                     _ ______footils.org__

More information about the Pd-list mailing list