diff options
Diffstat (limited to 'src/pack~.c')
-rw-r--r-- | src/pack~.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/pack~.c b/src/pack~.c index 1f19c72..ab904b0 100644 --- a/src/pack~.c +++ b/src/pack~.c @@ -33,15 +33,18 @@ typedef struct _sigpack static t_int *sigpack_perform(t_int *w) { - t_float *in = (t_float *)(w[1]); + t_sample *in = (t_sample *)(w[1]); t_sigpack *x = (t_sigpack *)w[2]; int n = (int)(w[3]), i = 0; t_atom *buf = x->buffer; while (n--) { - SETFLOAT(&buf[i], *in++); + t_float f=*in++; + SETFLOAT(&buf[i], f); i++; } +#warning defer list-output to next block with a clock! + outlet_list(x->x_obj.ob_outlet, &s_list, x->vector_length, x->buffer); return (w+4); @@ -75,7 +78,7 @@ static void sigpack_help(void) void pack_tilde_setup(void) { sigpack_class = class_new(gensym("pack~"), (t_newmethod)sigpack_new, 0, - sizeof(t_sigpack), 0, A_DEFFLOAT, 0); + sizeof(t_sigpack), 0, A_DEFFLOAT, 0); class_addmethod(sigpack_class, nullfn, gensym("signal"), 0); class_addmethod(sigpack_class, (t_method)sigpack_dsp, gensym("dsp"), 0); |