aboutsummaryrefslogtreecommitdiff
path: root/flist2tab
diff options
context:
space:
mode:
authorMartin Peach <mrpeach@users.sourceforge.net>2009-01-28 21:42:46 +0000
committerMartin Peach <mrpeach@users.sourceforge.net>2009-01-28 21:42:46 +0000
commit477488a5916e896669bf0bdda698e6184c24e74d (patch)
treed5024bfb1bd5c4d3b7978d53c6c3dc0aeb46fbdb /flist2tab
parent429802b7cee77bfef0ed96cfd5495404edd6f63a (diff)
Added an outlet for the array size. The outlet is updated with each incoming list or float. This makes it easier to append to existing arrays.
svn path=/trunk/externals/mrpeach/; revision=10669
Diffstat (limited to 'flist2tab')
-rw-r--r--flist2tab/flist2tab.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/flist2tab/flist2tab.c b/flist2tab/flist2tab.c
index 7217bd6..c4521ae 100644
--- a/flist2tab/flist2tab.c
+++ b/flist2tab/flist2tab.c
@@ -19,6 +19,7 @@ typedef struct _flist2tab
t_symbol *x_arrayname;
t_float x_ft1;
t_float x_offset;
+ t_outlet *x_sizeout;
} t_flist2tab;
static void flist2tab_list(t_flist2tab *x, t_symbol *s, int argc, t_atom *argv);
@@ -80,6 +81,8 @@ static void flist2tab_list(t_flist2tab *x, t_symbol *s, int argc, t_atom *argv)
vec[i+offset] = argv[i].a_w.w_float;
#endif
}
+ /* output the size of the array */
+ outlet_float(x->x_sizeout, npoints);
}
}
@@ -119,6 +122,8 @@ static void flist2tab_float(t_flist2tab *x, t_float f)
vec[offset] = f;
#endif
garray_redraw(a);
+ /* output the size of the array */
+ outlet_float(x->x_sizeout, npoints);
}
}
@@ -132,6 +137,7 @@ static void *flist2tab_new(t_symbol *s)
t_flist2tab *x = (t_flist2tab *)pd_new(flist2tab_class);
x->x_offset = 0;
x->x_arrayname = s;
+ x->x_sizeout = outlet_new(&x->x_obj, &s_float);
floatinlet_new(&x->x_obj, &x->x_offset);
return (x);
}