[PD] Multi dimensional [list]

Mathieu Bouchard matju at artengine.ca
Wed Jan 3 07:49:56 CET 2007

On Tue, 2 Jan 2007, Mathieu Bouchard wrote:

> And also, here's a plan for making t_gpointer die:
> 1. Move gs_refcount to t_array and t_canvas.
> 2. add a t_pd header to t_array so that it can be recognised by its t_class*.
> 3. Remove gs_which because we can already figure it out
> 4. nuke gp_valid, a_valid and gl_valid
> 5. nuke t_gstub completely, by replacing gp_stub by gs_un.

All those 5 changes have been made in DesireData tonight. I justify this 
by the fact that no externals in the pd cvs are using gpointers 
explicitly; so, compatibility is preserved. All gpointers will use a pure 
refcount system, without weakrefs. Note that this is all "in theory", 
because gpointers are currently unsupported in DesireData, but I'm 
confident that I made all the big changes that needed to be done and the 
rest of the work will be easy when gpointers are rehabilitated.

> 6. at this point, the only remaining things are the element pointer (gp_un) 
> and the container pointer (gp_stub aka gs_un). If the unused portion of 
> a_type is recycled (only compatible if no externals check for A_POINTER) then 
> we could make it hold the index,

This can't be done as long as the current atom system is supported (the 
new atom system will have stuff like atom_init, atom_delete, etc), 
because, unlike the string-vs-symbol case, i don't have much of a fallback 
if new-style A_POINTER is not supported. Anyway before doing that change I 
also have to remove g_next, so, this may take a while...

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada

More information about the Pd-list mailing list