[PD] bugs and question

Krzysztof Czaja czaja at chopin.edu.pl
Mon Sep 2 16:03:54 CEST 2002


hi,

using an atom type unknown to the outside world is possible, but
without any way of plugging a specialized method handling this
type.  One would need to use a generic typedmess() interface --
declare A_GIMME method on a receiving side, and pass it ordinary
messages with a symbol selector prefix.

I am not sure, if relying on every foreign class ignoring unknown
atom type is a good idea.  If not, one could filter foreign
receivers, i.e. directly use outlet traversal routines, bypassing
the standard outlet_anything() mechanism.

Of course, there are also simple but dirty hacks for passing
C-pointers around, like converting their hex representation into
either symbols (this could result in a Pd's symbol table lookup
slowdown), or lists of ascii codes (floats).  The other hack could
be passing indices to a ``dispatch table'', or, more generally,
establishing a well-known base address, and passing the offsets
(small floats).

Krzysztof

Mathieu Bouchard wrote:
...
 > How do I add a new type of Atom? If not, what may I use to pass void*
 > around? You see, I used to use integers to pass around pointers, because
 > my methods always knew beforehand what were function pointers and what
 > were int pointers and what were just integers. However there is no integer
 > type in PureData. What should I do?





More information about the Pd-list mailing list