[PD-cvs] pd/src desire.c,1.1.2.102,1.1.2.103

Mathieu Bouchard matju at users.sourceforge.net
Wed Aug 16 19:28:46 CEST 2006


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2365

Modified Files:
      Tag: devel_0_39
	desire.c 
Log Message:
messagebox: added support for addcomma, addsemi, adddollar, adddollarsym.
messagebox: update gui when content is changed by messages.


Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.102
retrieving revision 1.1.2.103
diff -C2 -d -r1.1.2.102 -r1.1.2.103
*** desire.c	13 Aug 2006 05:00:34 -0000	1.1.2.102
--- desire.c	16 Aug 2006 17:28:43 -0000	1.1.2.103
***************
*** 140,148 ****
  	t_appendix *d = self->g_adix;
  	int i;
  	if (!d) {post("gobj_changed3: no appendix in %p",self); return;}
  	for (i=0; i<d->nobs; i++) {
  		t_gobj *obs = d->obs[i];
  		t_notice ice = obs->g_pd->c_notice;
- 		//printf("obs=%lx\n",(long)obs);
  		if (ice) ice(obs,origin,argc,argv);
  		else post("null func ptr for class %s",self->g_pd->c_name->s_name);
--- 140,148 ----
  	t_appendix *d = self->g_adix;
  	int i;
+ 	//printf("gobj_changed3 self=%lx origin=%lx\n",(long)self,(long)origin);
  	if (!d) {post("gobj_changed3: no appendix in %p",self); return;}
  	for (i=0; i<d->nobs; i++) {
  		t_gobj *obs = d->obs[i];
  		t_notice ice = obs->g_pd->c_notice;
  		if (ice) ice(obs,origin,argc,argv);
  		else post("null func ptr for class %s",self->g_pd->c_name->s_name);
***************
*** 298,302 ****
      canvas_list = x;
      if (x->gl_havewindow || x->gl_willvis) {
- 	post("subscribe %lx",(long)x);
  	gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
  	gobj_changed(x,0);
--- 298,301 ----
***************
*** 855,859 ****
              canvas_reflecttitle(x);
              x->gl_havewindow = 1;
- 	    post("******subscribe %lx",(long)x);
  	    gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
  	    gobj_changed(x,0);
--- 854,857 ----
***************
*** 862,867 ****
          int i;
          t_canvas *x2;
! 	post("subscribe %lx",(long)x);
! 	gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
          if (!x->gl_havewindow) {
                  /* bug workaround -- a graph in a visible patch gets "invised"
--- 860,864 ----
          int i;
          t_canvas *x2;
! 	gobj_subscribe((t_gobj *)x,(t_gobj *)manager); /* why this, if it's supposed to be invisible? */
          if (!x->gl_havewindow) {
                  /* bug workaround -- a graph in a visible patch gets "invised"
***************
*** 877,883 ****
          if (glist_isvisible(x)) canvas_map(x, 0);
          canvas_create_editor(x, 0);
-         sys_vgui("destroy .x%lx\n", (long)x); // huh?
          i=1; for (x2=x; x2; x2=x2->gl_next) i++;
-         sys_vgui(".mbar.find delete %d\n", i); // huh???
  	/* if we're a graph on our parent, and if the parent exists
  	   and is visible, show ourselves on parent. */
--- 874,878 ----
***************
*** 5083,5086 ****
--- 5078,5082 ----
          if (rt)
              rtext_retext(rt);
+         gobj_changed(y,0);
      }
  }
***************
*** 10829,10832 ****
--- 10825,10860 ----
  }
  
+ static void message_addcomma(t_message *x)
+ {
+     t_atom a;
+     SETCOMMA(&a);
+     binbuf_add(x->m_text.te_binbuf, 1, &a);
+     glist_retext(x->m_glist, &x->m_text);
+ }
+ 
+ static void message_addsemi(t_message *x)
+ {
+     message_add(x, 0, 0, 0);
+ }
+ 
+ static void message_adddollar(t_message *x, t_floatarg f)
+ {
+     t_atom a;
+     int n = f;
+     if (n < 0)
+         n = 0;
+     SETDOLLAR(&a, n);
+     binbuf_add(x->m_text.te_binbuf, 1, &a);
+     glist_retext(x->m_glist, &x->m_text);
+ }
+ 
+ static void message_adddollsym(t_message *x, t_symbol *s)
+ {
+     t_atom a;
+     SETDOLLSYM(&a, s);
+     binbuf_add(x->m_text.te_binbuf, 1, &a);
+     glist_retext(x->m_glist, &x->m_text);
+ }
+ 
  void canvas_msg(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
  {
***************
*** 11275,11278 ****
--- 11303,11307 ----
  	str[argc-1]=0;
  	text_setto(o,x,str,argc-1);
+ 	gobj_changed(x,0);
  }
  
***************
*** 11327,11330 ****
--- 11356,11363 ----
      class_addmethod3(c, message_add, "add","*");
      class_addmethod3(c, message_add2,"add2","*");
+     class_addmethod3(c, message_addcomma,   "addcomma",  "");
+     class_addmethod3(c, message_addsemi,    "addsemi",   "");
+     class_addmethod3(c, message_adddollar,  "adddollar", "f");
+     class_addmethod3(c, message_adddollsym, "adddollsym","s");
  
      c = gatom_class = class_new(gensym("gatom"), 0, (t_method)gatom_free,





More information about the Pd-cvs mailing list