Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23150
Modified Files: Tag: desiredata m_pd.h desire.c Log Message: replacing appendix's dirtyc,dirtyv by manager's dirty.
Index: m_pd.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v retrieving revision 1.4.4.11.2.33.2.42 retrieving revision 1.4.4.11.2.33.2.43 diff -C2 -d -r1.4.4.11.2.33.2.42 -r1.4.4.11.2.33.2.43 *** m_pd.h 9 Jan 2007 23:13:21 -0000 1.4.4.11.2.33.2.42 --- m_pd.h 16 Jan 2007 01:36:52 -0000 1.4.4.11.2.33.2.43 *************** *** 191,200 **** struct _gobj **obs; /* I spy with my little I */ /* miscellaneous */ - /* the dirty stuff should be a hashtable in t_manager. this is a hack - until pd has hashtables other than the big global one. having the dirties - here sort of defeats the purpose of the observer pattern *and* will cause - trouble with multiple-clients. */ - int dirtyc; - t_atom dirtyv[3]; t_hash *visual; } t_appendix; --- 191,194 ----
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.217.2.133 retrieving revision 1.1.2.217.2.134 diff -C2 -d -r1.1.2.217.2.133 -r1.1.2.217.2.134 *** desire.c 16 Jan 2007 00:56:32 -0000 1.1.2.217.2.133 --- desire.c 16 Jan 2007 01:36:52 -0000 1.1.2.217.2.134 *************** *** 104,108 **** self->nobs = 0; self->obs = 0; - self->dirtyc = 0; self->visual = hash_new(1); return self; --- 104,107 ---- *************** *** 288,291 **** --- 287,291 ---- t_clock *clock; t_binbuf *b; /* reusable, for processing messages from the gui */ + t_hash *dirty; };
*************** *** 303,309 **** pd_free(o); } else { ! if (o->dix->dirtyc) { pd_upload(o); ! o->dix->dirtyc = 0; } } --- 303,309 ---- pd_free(o); } else { ! if (hash_exists(self->dirty,o)) { pd_upload(o); ! hash_delete(self->dirty,o); } } *************** *** 314,323 **** void manager_notice (t_gobj *self_, t_gobj *origin, int argc, t_atom *argv) { t_manager *self = (t_manager *)self_; ! t_appendix *a = (t_appendix *)origin->dix; ! if (!a->dirtyc) { queue_put(self->q,origin); ! a->dirtyc = 1; } - SETFLOAT(a->dirtyv,-1); /* in the future this may contain real data instead */ }
--- 314,321 ---- void manager_notice (t_gobj *self_, t_gobj *origin, int argc, t_atom *argv) { t_manager *self = (t_manager *)self_; ! if (!hash_exists(self->dirty,origin)) { queue_put(self->q,origin); ! hash_set(self->dirty,origin,0); } }
*************** *** 328,331 **** --- 326,330 ---- self->b = binbuf_new(); clock_delay(self->clock,0); + self->dirty = hash_new(127); return self; }