aboutsummaryrefslogtreecommitdiff
path: root/src/avg~.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2007-10-30 09:21:52 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2007-10-30 09:21:52 +0000
commit5e869f7a0cef88be3b03272303a6084b8bd1a7e3 (patch)
tree8d5e0dfc39eb696f5b457b3376dd6eb7de17b538 /src/avg~.c
parent6d61e2a46722b75c1a3734e3419ee2886b11b2b3 (diff)
use t_float and t_sample when possible
svn path=/trunk/externals/zexy/; revision=8907
Diffstat (limited to 'src/avg~.c')
-rw-r--r--src/avg~.c45
1 files changed, 22 insertions, 23 deletions
diff --git a/src/avg~.c b/src/avg~.c
index b035c8e..2096e11 100644
--- a/src/avg~.c
+++ b/src/avg~.c
@@ -24,11 +24,10 @@ static t_class *avg_class;
typedef struct _avg
{
- t_object x_obj;
+ t_object x_obj;
- t_float n_inv;
- t_float buf;
- int blocks;
+ t_float n_inv;
+ int blocks;
} t_avg;
@@ -36,48 +35,48 @@ typedef struct _avg
static t_int *avg_perform(t_int *w)
{
- t_float *in = (t_float *)(w[1]);
+ t_sample *in = (t_sample *)(w[1]);
- t_avg *x = (t_avg *)w[2];
- int n = (int)(w[3]);
+ t_avg *x = (t_avg *)w[2];
+ int n = (int)(w[3]);
- t_float buf = 0.;
+ t_sample buf = 0.;
- while (n--)
+ while (n--)
{
- buf += *in++;
+ buf += *in++;
}
- outlet_float(x->x_obj.ob_outlet, buf*x->n_inv);
+ outlet_float(x->x_obj.ob_outlet, buf*x->n_inv);
- return (w+4);
+ return (w+4);
}
static void avg_dsp(t_avg *x, t_signal **sp)
{
- x->n_inv=1./sp[0]->s_n;
- dsp_add(avg_perform, 3, sp[0]->s_vec, x, sp[0]->s_n);
+ x->n_inv=1./sp[0]->s_n;
+ dsp_add(avg_perform, 3, sp[0]->s_vec, x, sp[0]->s_n);
}
static void *avg_new(void)
{
- t_avg *x = (t_avg *)pd_new(avg_class);
- outlet_new(&x->x_obj, gensym("float"));
- return (x);
+ t_avg *x = (t_avg *)pd_new(avg_class);
+ outlet_new(&x->x_obj, &s_float);
+ return (x);
}
static void avg_help(void)
{
- post("avg~\t:: outputs the arithmetic mean of each signal-vector");
+ post("avg~\t:: outputs the arithmetic mean of each signal-vector");
}
void avg_tilde_setup(void)
{
- avg_class = class_new(gensym("avg~"), (t_newmethod)avg_new, 0,
- sizeof(t_avg), 0, A_DEFFLOAT, 0);
- class_addmethod(avg_class, nullfn, gensym("signal"), 0);
- class_addmethod(avg_class, (t_method)avg_dsp, gensym("dsp"), 0);
+ avg_class = class_new(gensym("avg~"), (t_newmethod)avg_new, 0,
+ sizeof(t_avg), 0, A_DEFFLOAT, 0);
+ class_addmethod(avg_class, nullfn, gensym("signal"), 0);
+ class_addmethod(avg_class, (t_method)avg_dsp, gensym("dsp"), 0);
- class_addmethod(avg_class, (t_method)avg_help, gensym("help"), 0);
+ class_addmethod(avg_class, (t_method)avg_help, gensym("help"), 0);
zexy_register("avg~");
}