[PD-dev] pointers

Mathieu Bouchard matju at artengine.ca
Sun Jul 8 17:51:47 CEST 2007


On Sat, 7 Jul 2007, Charles Henry wrote:

> I was wondering if you could clarify for me what types of data 
> structures you are pointing to, because I could think of an application 
> that this would solve.

In modern GridFlow, "grid" messages (the only special messages in 
GridFlow) contain one single fake pointer which is always pointing to a 
GridOutlet structure. When an object receives that, it calls ->callback(x) 
on the structure, where x has to be a GridInlet*. This subscribes the 
GridInlet to the streaming that will be performed by the GridOutlet as 
soon as the message handler returns.

As of now, this is always ever done by grid.c, so actual grid-handling 
pd classes named like [#whatever] never know about this and it could 
actually change from version to version (and it did). When patching, you 
are not allowed to assume anything about the contents of the grid message.

> For a while now, I was wondering how to include a wave packets
> transform in pd.  The wave++ library has a wave packets transform,
> where the structure of the transform is provided as a tree, and the
> tree is a class.

We've had an experimental datatype in LTI (a C++ library wrapped by 
GridFlow) for pointing to special (non-gridoutlet) structs like that but 
it's not like we're so proud of it.

Btw, if that's a balanced tree, it's rather easy to flatten it into an 
array in a predictable way. You've thought about that? (Are you talking 
about wavelets?)

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada


More information about the Pd-dev mailing list