Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2371
Modified Files: Tag: desiredata desire.c Log Message: fix previous commit
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.217.2.94 retrieving revision 1.1.2.217.2.95 diff -C2 -d -r1.1.2.217.2.94 -r1.1.2.217.2.95 *** desire.c 27 Dec 2006 23:30:31 -0000 1.1.2.217.2.94 --- desire.c 28 Dec 2006 00:11:22 -0000 1.1.2.217.2.95 *************** *** 27,30 **** --- 27,31 ---- #include "m_simd.h" #include <errno.h> + #include <sys/time.h>
// oops, c99 only (is it standard C++ ?) *************** *** 959,983 **** extern "C" void ugen_done_graph(t_dspcontext *dc);
! /* schedule one canvas for DSP. This is called below for all "root" ! canvases, but is also called from the "dsp" method for sub- ! canvases, which are treated almost like any other tilde object. */ ! static void canvas_dodsp(t_canvas *x, int toplevel, t_signal **sp) { t_object *ob; t_symbol *dspsym = gensym("dsp"); - t_dspcontext *dc; - /* create a new "DSP graph" object to use in sorting this canvas. If we aren't toplevel, there are already other dspcontexts around. */ ! dc = ugen_start_graph(toplevel, sp, obj_nsiginlets(x), obj_nsigoutlets(x)); ! /* find all the "dsp" boxes and add them to the graph */ canvas_each(y,x) if ((ob = pd_checkobject(y)) && zgetfn(y,dspsym)) ugen_add(dc, ob); - /* ... and all dsp interconnections */ canvas_wires_each(oc,t,x) if (obj_issignaloutlet(t.from, t.outlet)) ugen_connect(dc, t.from, t.outlet, t.to, t.inlet); - /* finally, sort them and add them to the DSP chain */ ugen_done_graph(dc); --- 960,978 ---- extern "C" void ugen_done_graph(t_dspcontext *dc);
! /* schedule one canvas for DSP. This is called below for all "root" ! canvases, but is also called from the "dsp" method for sub- ! canvases, which are treated almost like any other tilde object. */ static void canvas_dodsp(t_canvas *x, int toplevel, t_signal **sp) { t_object *ob; t_symbol *dspsym = gensym("dsp"); /* create a new "DSP graph" object to use in sorting this canvas. If we aren't toplevel, there are already other dspcontexts around. */ ! t_dspcontext *dc = ugen_start_graph(toplevel, sp, obj_nsiginlets(x), obj_nsigoutlets(x)); /* find all the "dsp" boxes and add them to the graph */ canvas_each(y,x) if ((ob = pd_checkobject(y)) && zgetfn(y,dspsym)) ugen_add(dc, ob); /* ... and all dsp interconnections */ canvas_wires_each(oc,t,x) if (obj_issignaloutlet(t.from, t.outlet)) ugen_connect(dc, t.from, t.outlet, t.to, t.inlet); /* finally, sort them and add them to the DSP chain */ ugen_done_graph(dc); *************** *** 986,995 **** static void canvas_dsp(t_canvas *x, t_signal **sp) {canvas_dodsp(x, 0, sp);}
! /* this routine starts DSP for all root canvases. */ static void canvas_start_dsp(void) { if (canvas_dspstate) ugen_stop(); else sys_gui("pdtk_pd_dsp 1\n"); ugen_start(); canvases_each(x) canvas_dodsp(x,1,0); canvas_dspstate = 1; } --- 981,994 ---- static void canvas_dsp(t_canvas *x, t_signal **sp) {canvas_dodsp(x, 0, sp);}
! /* this routine starts DSP for all root canvases. */ static void canvas_start_dsp(void) { if (canvas_dspstate) ugen_stop(); else sys_gui("pdtk_pd_dsp 1\n"); ugen_start(); + //timeval v0,v1; + //gettimeofday(&v0,0); canvases_each(x) canvas_dodsp(x,1,0); + //gettimeofday(&v1,0); + //printf("canvas_start_dsp took %ld us\n",(v1.tv_sec-v0.tv_sec)*1000000+(v1.tv_usec-v0.tv_usec)); canvas_dspstate = 1; } *************** *** 1023,1029 ****
extern "C" void glob_dsp(void *dummy, t_symbol *s, int argc, t_atom *argv) { - int newstate; if (argc) { ! newstate = atom_getintarg(0, argc, argv); if (newstate && !canvas_dspstate) { canvas_start_dsp(); --- 1022,1027 ----
extern "C" void glob_dsp(void *dummy, t_symbol *s, int argc, t_atom *argv) { if (argc) { ! int newstate = atom_getintarg(0, argc, argv); if (newstate && !canvas_dspstate) { canvas_start_dsp(); *************** *** 5837,5841 **** void canvas_text(t_canvas *gl, t_symbol *s, int argc, t_atom *argv) { t_text *x = (t_text *)pd_new(text_class); - t_atom at; x->binbuf = binbuf_new(); x->x = atom_getintarg(0, argc, argv); --- 5835,5838 ---- *************** *** 6198,6202 **** if (o->_class->firstin) strcpy(foo,o->_class->firsttip->s_name); else strcpy(foo,""); int n = obj_ninlets(x); ! char *foop = foo; for (int i=!!o->_class->firstin; i<n; i++) { strcat(foo," "); --- 6195,6199 ---- if (o->_class->firstin) strcpy(foo,o->_class->firsttip->s_name); else strcpy(foo,""); int n = obj_ninlets(x); ! //char *foop = foo; for (int i=!!o->_class->firstin; i<n; i++) { strcat(foo," "); *************** *** 6494,6498 **** binbuf_addv(b, ";"); } else { /* this was outside of the "else" for a while. why? I don't remember */ ! c->c_savefn(self,b); } appendix_save(self,b); --- 6491,6495 ---- binbuf_addv(b, ";"); } else { /* this was outside of the "else" for a while. why? I don't remember */ ! c->savefn(self,b); } appendix_save(self,b);