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
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list