[PD-cvs] externals/zexy/src lifop.c,1.11,1.12 fifop.c,1.13,1.14

IOhannes m zmölnig zmoelnig at users.sourceforge.net
Tue Dec 12 12:15:30 CET 2006


Update of /cvsroot/pure-data/externals/zexy/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30030

Modified Files:
	lifop.c fifop.c 
Log Message:
added "dump" and "clear" messages


Index: fifop.c
===================================================================
RCS file: /cvsroot/pure-data/externals/zexy/src/fifop.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** fifop.c	19 May 2006 14:04:32 -0000	1.13
--- fifop.c	12 Dec 2006 11:15:28 -0000	1.14
***************
*** 206,216 ****
  }
  
! static void fifop_help(t_fifop*x)
! {
!   post("\n%c fifop\t\t:: a First-In-First-Out queue with priorities", HEARTSYMBOL);
! }
! 
! 
! static void fifop_free(t_fifop *x)
  {
    t_fifop_prioritylist *fifo_list=x->fifo_list;
--- 206,210 ----
  }
  
! static void fifop_clear(t_fifop*x)
  {
    t_fifop_prioritylist *fifo_list=x->fifo_list;
***************
*** 238,241 ****
--- 232,271 ----
    }
    x->fifo_list=0;
+   x->counter=0;
+ }
+ /* this is NOT re-entrant! */
+ static void fifop_dump(t_fifop*x)
+ {  
+   t_fifop_prioritylist*pfifo=getFifo(x->fifo_list);
+ 
+   if(!pfifo||!pfifo->fifo_start) {
+     outlet_bang(x->x_infout);
+     return;
+   }
+ 
+   while(pfifo) {
+     t_fifop_list*fifo=pfifo->fifo_start;
+     while(fifo) {
+       t_atom*argv=fifo->argv;
+       int argc=fifo->argc;
+ 
+       /* output the list */
+       outlet_list(x->x_out, &s_list, argc, argv);
+ 
+       fifo=fifo->next;
+     }
+     pfifo=pfifo->next;
+   }
+ }
+ 
+ static void fifop_help(t_fifop*x)
+ {
+   post("\n%c fifop\t\t:: a First-In-First-Out queue with priorities", HEARTSYMBOL);
+ }
+ 
+ 
+ static void fifop_free(t_fifop *x)
+ {
+   fifop_clear(x);
  
    outlet_free(x->x_out);
***************
*** 264,267 ****
--- 294,301 ----
    class_addbang    (fifop_class, fifop_bang);
    class_addlist    (fifop_class, fifop_list);
+ 
+   class_addmethod  (fifop_class, (t_method)fifop_clear, gensym("clear"), A_NULL);
+   class_addmethod  (fifop_class, (t_method)fifop_dump, gensym("dump"), A_NULL);
+ 
    class_addmethod  (fifop_class, (t_method)fifop_query, gensym("info"), A_NULL);
    class_addmethod  (fifop_class, (t_method)fifop_help, gensym("help"), A_NULL);

Index: lifop.c
===================================================================
RCS file: /cvsroot/pure-data/externals/zexy/src/lifop.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** lifop.c	19 May 2006 14:04:32 -0000	1.11
--- lifop.c	12 Dec 2006 11:15:28 -0000	1.12
***************
*** 188,192 ****
    outlet_float(x->x_infout, (t_float)x->counter);
  }
! static void lifop_free(t_lifop *x)
  {
    t_lifop_prioritylist *lifo_list=x->lifo_list;
--- 188,192 ----
    outlet_float(x->x_infout, (t_float)x->counter);
  }
! static void lifop_clear(t_lifop *x)
  {
    t_lifop_prioritylist *lifo_list=x->lifo_list;
***************
*** 213,216 ****
--- 213,247 ----
    }
    x->lifo_list=0;
+   x->counter=0;
+ }
+ 
+ /* this is NOT re-entrant! */
+ static void lifop_dump(t_lifop*x)
+ {  
+   t_lifop_prioritylist*plifo=getLifo(x->lifo_list);
+ 
+   if(!plifo||!plifo->lifo_start) {
+     outlet_bang(x->x_infout);
+     return;
+   }
+ 
+   while(plifo) {
+     t_lifop_list*lifo=plifo->lifo_start;
+     while(lifo) {
+       t_atom*argv=lifo->argv;
+       int argc=lifo->argc;
+ 
+       /* output the list */
+       outlet_list(x->x_out, &s_list, argc, argv);
+ 
+       lifo=lifo->next;
+     }
+     plifo=plifo->next;
+   }
+ }
+ 
+ static void lifop_free(t_lifop *x)
+ {
+   lifop_clear(x);
  
    outlet_free(x->x_out);
***************
*** 243,246 ****
--- 274,281 ----
    class_addbang    (lifop_class, lifop_bang);
    class_addlist    (lifop_class, lifop_list);
+ 
+   class_addmethod  (lifop_class, (t_method)lifop_clear, gensym("clear"), A_NULL);
+   class_addmethod  (lifop_class, (t_method)lifop_dump, gensym("dump"), A_NULL);
+ 
    class_addmethod  (lifop_class, (t_method)lifop_query, gensym("info"), A_NULL);
    class_addmethod  (lifop_class, (t_method)lifop_help, gensym("help"), A_NULL);





More information about the Pd-cvs mailing list