Skip to content
Snippets Groups Projects
Commit c994d979 authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

quick fixes to keep cxc/mean~ from crashing when dsp is turned on

parent 5e9124e9
No related branches found
No related tags found
No related merge requests found
...@@ -67,9 +67,16 @@ static void cxmean_mean(t_cxmean *x) ...@@ -67,9 +67,16 @@ static void cxmean_mean(t_cxmean *x)
cnt = 0; cnt = 0;
if(!(a = (t_garray *)pd_findbyclass(x->x_arrayname,garray_class))) { if(!(a = (t_garray *)pd_findbyclass(x->x_arrayname,garray_class))) {
pd_error(x, "%s: no such table", x->x_arrayname->s_name); pd_error(x, "mean: %s: no such table", x->x_arrayname->s_name);
x->x_vec = 0;
return;
}
else if (!garray_getfloatarray(a,&x->x_nsampsintab,&x->x_vec))
{
error("%s: bad template for mean", x->x_arrayname->s_name);
x->x_vec = 0;
return;
} }
garray_getfloatarray(a,&x->x_nsampsintab,&x->x_vec);
fp = x->x_vec; fp = x->x_vec;
...@@ -168,8 +175,15 @@ static void cxavgdev_float(t_cxavgdev *x, t_float f) ...@@ -168,8 +175,15 @@ static void cxavgdev_float(t_cxavgdev *x, t_float f)
cnt = 0; cnt = 0;
if(!(a = (t_garray *)pd_findbyclass(x->x_arrayname,garray_class))) { if(!(a = (t_garray *)pd_findbyclass(x->x_arrayname,garray_class))) {
pd_error(x, "%s: no such table", x->x_arrayname->s_name); pd_error(x, "%s: no such table", x->x_arrayname->s_name);
x->x_vec = 0;
return;
}
else if (!garray_getfloatarray(a,&x->x_nsampsintab,&x->x_vec))
{
error("%s: bad template for mean", x->x_arrayname->s_name);
x->x_vec = 0;
return;
} }
garray_getfloatarray(a,&x->x_nsampsintab,&x->x_vec);
fp = x->x_vec; fp = x->x_vec;
...@@ -347,6 +361,14 @@ static t_int *mean_tilde_perform(t_int *w) ...@@ -347,6 +361,14 @@ static t_int *mean_tilde_perform(t_int *w)
int n = (int)(w[2]); int n = (int)(w[2]);
t_float xz = 0.; t_float xz = 0.;
fp = x->x_vec; fp = x->x_vec;
/* If array doesn't exist just make it zero */
if (!fp)
{
x->x_mean = 0;
return (w+3);
}
while(n--) { while(n--) {
xz += abs(*fp++); xz += abs(*fp++);
//post("cxc/mean.c: %d : %f : %f",n,xz,fp); //post("cxc/mean.c: %d : %f : %f",n,xz,fp);
...@@ -354,7 +376,6 @@ static t_int *mean_tilde_perform(t_int *w) ...@@ -354,7 +376,6 @@ static t_int *mean_tilde_perform(t_int *w)
x->x_mean = (t_float)(xz / n); x->x_mean = (t_float)(xz / n);
//post("cxc/mean.c: %f",xz); //post("cxc/mean.c: %f",xz);
return (w+3); return (w+3);
//return 0;
} }
static void mean_tilde_set(t_mean_tilde *x, t_symbol *s) static void mean_tilde_set(t_mean_tilde *x, t_symbol *s)
...@@ -400,8 +421,15 @@ static void mean_tilde_mean(t_mean_tilde *x) ...@@ -400,8 +421,15 @@ static void mean_tilde_mean(t_mean_tilde *x)
cnt = 0; cnt = 0;
if(!(a = (t_garray *)pd_findbyclass(x->x_arrayname,garray_class))) { if(!(a = (t_garray *)pd_findbyclass(x->x_arrayname,garray_class))) {
pd_error(x, "%s: no such table", x->x_arrayname->s_name); pd_error(x, "%s: no such table", x->x_arrayname->s_name);
x->x_vec = 0;
return;
}
else if (!garray_getfloatarray(a,&x->x_nsampsintab,&x->x_vec))
{
error("%s: bad template for mean", x->x_arrayname->s_name);
x->x_vec = 0;
return;
} }
garray_getfloatarray(a,&x->x_nsampsintab,&x->x_vec);
fp = x->x_vec; fp = x->x_vec;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment