[PD-dev] sensing events

Krzysztof Czaja czaja at chopin.edu.pl
Fri May 31 12:43:12 CEST 2002


hi,

how best to define a ``control event'' in Pd?

I am trying to put 'cycle' into cyclone now.  I need to know,
how to sense, that successive messages belong to the same event.
This `event-sensitive' mode is so described in the max4 manual:

``cycle detects separate events and restarts at the leftmost
outlet when a new event occurs. Examples of separate events
include messages with delays between them, and messages triggered
by successive mouse clicks or MIDI events. A stream of items
separated by commas in a message box is considered a single
event.''

In a preliminary version I have simply used clock_getlogicaltime(),
comparing logical times, but to handle it properly, one probably
needs to distinguish between separate clocks or midi data tagged
with the same time stamp, and also between different bits of data
coming through sockets at the same time, like mouse, keyboard and
net.

In the Pd scheduler I found a call, outlet_setstacklim(), which
seems to be invoked before processing almost any new `event'
(except midi -- wonder why?).  At least this is my understanding
of the actual meaning of an `event'.  But this call's sole
job is to set a mark used in preventing recursive patches from
overflowing the stack.

Is there any way in which an external might get a clue?

Krzysztof





More information about the Pd-dev mailing list