[PD-cvs] externals/bbogart/popup README.txt,1.3,1.4 popup-help.pd,1.4,1.5 popup.c,1.8,1.9

B. Bogart bbogart at users.sourceforge.net
Tue Dec 14 00:57:01 CET 2004


Update of /cvsroot/pure-data/externals/bbogart/popup
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2004

Modified Files:
	README.txt popup-help.pd popup.c 
Log Message:
Added "append" method, fixed bug with background colour, added proper args to README


Index: popup.c
===================================================================
RCS file: /cvsroot/pure-data/externals/bbogart/popup/popup.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** popup.c	7 Nov 2004 17:53:46 -0000	1.8
--- popup.c	13 Dec 2004 23:56:59 -0000	1.9
***************
*** 155,159 ****
  		canvas, x, x->x_options[i]->s_name, canvas, x, x->x_options[i]->s_name, x, i);
    }
!   
    DEBUG(post("id: .x%x.c.s%x", canvas, x);)
    DEBUG(post("create_widget end");)
--- 155,159 ----
  		canvas, x, x->x_options[i]->s_name, canvas, x, x->x_options[i]->s_name, x, i);
    }
! 
    DEBUG(post("id: .x%x.c.s%x", canvas, x);)
    DEBUG(post("create_widget end");)
***************
*** 183,186 ****
--- 183,189 ----
  
    DEBUG(post("drawme end");)
+ 
+ // Output a bang to first outlet when we're ready to receive float messages the first time!. 
+ if(firsttime) {outlet_bang(x->x_obj.ob_outlet);}
  }
  
***************
*** 383,391 ****
  
  /* function to change colour of popup background */
! void popup_bgcolour(t_popup* x, t_symbol* col)
  {
  	DEBUG(post("bgcolour start");)
  
! 	x->x_colour->s_name = col->s_name;
  	sys_vgui(".x%x.c.s%x configure -background \"%s\"\n", x->x_glist, x, col->s_name);
  }
--- 386,394 ----
  
  /* function to change colour of popup background */
! static void popup_bgcolour(t_popup* x, t_symbol* col)
  {
  	DEBUG(post("bgcolour start");)
  
! 	x->x_colour = col;
  	sys_vgui(".x%x.c.s%x configure -background \"%s\"\n", x->x_glist, x, col->s_name);
  }
***************
*** 417,420 ****
--- 420,461 ----
  }
  
+ /* Function to append symbols to popup list 
+ static void popup_append(t_popup* x, t_symbol *item)
+ {
+ 	// Add menu item
+         sys_vgui(".x%x.c.s%x.menu add command -label \"%s\" -command {.x%x.c.s%x configure -text \"%s\" ; popup_sel%x \"%d\"} \n",
+                 x->x_glist, x, item->s_name, x->x_glist, x, item->s_name, x, (x->x_num_options-1) );
+ 
+ 	post("orig num_options: %d", x->x_num_options);
+ 
+ 	// Incriment num_options
+ 	x->x_num_options++;
+ 
+ 	post("post  num_options: %d", x->x_num_options);
+ } */
+ 
+ /* Function to append symbols to popup list */
+ void popup_append(t_popup* x, t_symbol *s, int argc, t_atom *argv)
+ {
+         DEBUG(post("append start");)
+ 
+         int i, new_limit;
+ 
+         new_limit = x->x_num_options + argc;
+ 
+         for(i=x->x_num_options ; i<new_limit ; i++)
+         {
+                 x->x_options[i] = atom_getsymbol(argv+i-x->x_num_options);
+                 sys_vgui(".x%x.c.s%x.menu add command -label \"%s\" -command {.x%x.c.s%x configure -text \"%s\" ; popup_sel%x \"%d\"} \n",
+                         x->x_glist, x, x->x_options[i]->s_name, x->x_glist, x, x->x_options[i]->s_name, x, i);
+         }
+ 
+ 	x->x_num_options = new_limit;
+ 
+         DEBUG(post("append end");)
+ }
+ 
+ 
+ 
  static t_class *popup_class;
  
***************
*** 472,475 ****
--- 513,517 ----
  
      DEBUG(post("popup new end");)
+ 
  }
  
***************
*** 500,503 ****
--- 542,551 ----
  								  A_DEFSYMBOL,
  								  0);
+ 
+         class_addmethod(popup_class, (t_method)popup_append,
+                                                                   gensym("append"),
+                                                                   A_GIMME,
+                                                                   0);
+ 
  	class_doaddfloat(popup_class, (t_method)popup_iselect);
  

Index: popup-help.pd
===================================================================
RCS file: /cvsroot/pure-data/externals/bbogart/popup/popup-help.pd,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** popup-help.pd	17 Oct 2004 01:24:23 -0000	1.4
--- popup-help.pd	13 Dec 2004 23:56:59 -0000	1.5
***************
*** 1,20 ****
! #N canvas 154 131 631 317 10;
! #X obj 66 220 popup 124 25 white duh! one two three four five six seven
! eight nine ten eleven twelve thirteen i14 i15 i16 i17 i18 i19 i20 i21
! i22 i23 i24 i25 i26 i26 i27 i28 i29 i30;
! #X obj 67 265 print index;
! #X msg 79 100 name popup;
! #X obj 169 266 print symbol;
! #X floatatom 44 78 5 0 0 0 - - -;
! #X msg 126 156 options one two three four five six seven eight nine
! ten eleven twelve thirteen i14 i15 i16 i17 i18 i19 i20 i21 i22 i23
! i24 i25 i26 i26 i27 i28 i29 i30;
! #X msg 109 130 bgcolour black;
  #X text 13 11 popup \, a popup menu for PD. Copyright Ben Bogart 2004
  Released under the GPL.;
! #X connect 0 0 1 0;
  #X connect 0 1 3 0;
  #X connect 2 0 0 0;
  #X connect 4 0 0 0;
! #X connect 5 0 0 0;
! #X connect 6 0 0 0;
--- 1,35 ----
! #N canvas 119 198 631 397 10;
! #X obj 106 300 popup 124 25 grey90 duh! one two three four five six
! seven eight nine ten eleven twelve thirteen i14 i15 i16 i17 i18 i19
! i20 i21 i22 i23 i24 i25 i26 i27 i28 i29 i30;
! #X obj 152 359 print index;
! #X msg 96 108 name popup;
! #X obj 239 359 print symbol;
! #X floatatom 43 94 5 0 0 0 - - -;
  #X text 13 11 popup \, a popup menu for PD. Copyright Ben Bogart 2004
  Released under the GPL.;
! #X text 14 43 Left outlet sends out a bang on load \, used to set default
! value. Using a loadbang to send a float will result in a crash.;
! #X msg 173 235 options;
! #X msg 166 186 options one two three four five six seven eight nine
! ten eleven twelve thirteen i14 i15 i16 i17 i18 i19 i20 i21 i22 i23
! i24 i25 i26 i27 i28 i29 i30;
! #X msg 184 261 append append-one append-two append-three;
! #X obj 106 332 route bang;
! #X msg 33 298 10;
! #X text 187 332 Choose 10 as the default value on load \, does send
! output.;
! #X msg 119 133 bgcolour #047992;
! #X msg 149 160 bgcolour grey90;
! #X connect 0 0 10 0;
  #X connect 0 1 3 0;
  #X connect 2 0 0 0;
  #X connect 4 0 0 0;
! #X connect 7 0 0 0;
! #X connect 8 0 0 0;
! #X connect 9 0 0 0;
! #X connect 10 0 11 0;
! #X connect 10 1 1 0;
! #X connect 11 0 0 0;
! #X connect 13 0 0 0;
! #X connect 14 0 0 0;

Index: README.txt
===================================================================
RCS file: /cvsroot/pure-data/externals/bbogart/popup/README.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** README.txt	5 Nov 2004 15:44:44 -0000	1.3
--- README.txt	13 Dec 2004 23:56:58 -0000	1.4
***************
*** 27,31 ****
  Put the helpfile in your 5.reference folder.
  
! Arguments: [pixel width] [background colour] [name] [opt1] [opt2] [...]
  
  Methods:
--- 27,31 ----
  Put the helpfile in your 5.reference folder.
  
! Arguments: [pixel width] [pixel height] [background colour] [name] [opt1] [opt2] [...]
  
  Methods:
***************
*** 35,41 ****
--- 35,44 ----
    bgcolour [colour]	Background Colour (white, green, #5500ff)
    options [opt1] [...]	List of the popup options
+   append [opt1] [...]   Add the arg list to the bottom of the current options
  
  BUGS:
  - Do not use a loadbang to set a patch-default value. Will cause a segfault.
+   The left outlet will send a "bang" message when we're ready to set values,
+   see example patch on how to use this to set a default value.
  
  Have Fun.





More information about the Pd-cvs mailing list