From d0f4249b5da71f9d2453a2e099cfe138df82402d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 24 Apr 2009 04:32:28 +0000 Subject: made this object a good citizen by declaring as much as possible as 'static' svn path=/trunk/externals/vbap/; revision=11112 --- vbap.c | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) (limited to 'vbap.c') diff --git a/vbap.c b/vbap.c index f60f331..ef84219 100644 --- a/vbap.c +++ b/vbap.c @@ -14,24 +14,25 @@ See copyright in file with name COPYRIGHT */ #include "s_stuff.h" // Function prototypes -void new_spread_dir(t_vbap *x, float spreaddir[3], float vscartdir[3], float spread_base[3]); -void new_spread_base(t_vbap *x, float spreaddir[3], float vscartdir[3]); +static void new_spread_dir(t_vbap *x, float spreaddir[3], float vscartdir[3], float spread_base[3]); +static void new_spread_base(t_vbap *x, float spreaddir[3], float vscartdir[3]); static void *vbap_class; -void vect_cross_prod(float v1[3], float v2[3],float v3[3]); -void additive_vbap(float *final_gs, float cartdir[3], t_vbap *x); -void vbap_bang(t_vbap *x); -void vbap_matrix(t_vbap *x, Symbol *s, int ac, Atom *av); -/* these are for getting data from a cold inlet on Max/MSP, in Pd you use floatinlet_new() in new() +static void vect_cross_prod(float v1[3], float v2[3],float v3[3]); +static void additive_vbap(float *final_gs, float cartdir[3], t_vbap *x); +static void vbap_bang(t_vbap *x); +static void vbap_matrix(t_vbap *x, Symbol *s, int ac, Atom *av); +#ifndef PD /* Max */ +/* these are for getting data from a cold inlet on Max/MSP, in Pd you use floatinlet_new() in new() */ void vbap_ft1(t_vbap *x, double n); void vbap_ft2(t_vbap *x, double n); void vbap_in3(t_vbap *x, long n); void vbap_ft4(t_vbap *x, double g); -*/ -void spread_it(t_vbap *x, float *final_gs); -void *vbap_new(float azi, float ele, float spread); -void vbap(float g[3], long ls[3], t_vbap *x); -void angle_to_cart(float azi, float ele, float res[3]); -void cart_to_angle(float cvec[3], float avec[3]); +#endif +static void spread_it(t_vbap *x, float *final_gs); +static void *vbap_new(float azi, float ele, float spread); +static void vbap(float g[3], long ls[3], t_vbap *x); +static void angle_to_cart(float azi, float ele, float res[3]); +static void cart_to_angle(float cvec[3], float avec[3]); /***************************************************** INCLUDE ALL define_loudspeakers functions directly into VBAP @@ -139,7 +140,7 @@ void vbap_ft4(t_vbap *x, double g) { x->x_gain = g; } /*--------------------------------------------------------------------------*/ // create new instance of object... #ifdef PD -void *vbap_new(t_float azi, t_float ele, t_float spread) +static void *vbap_new(t_float azi, t_float ele, t_float spread) { t_vbap *x = (t_vbap *)newobject(vbap_class); @@ -181,7 +182,7 @@ void *vbap_new(float azi,float ele) } -void angle_to_cart(float azi, float ele, float res[3]) +static void angle_to_cart(float azi, float ele, float res[3]) // converts angular coordinates to cartesian { res[0] = cos(azi * atorad) * cos( ele * atorad); @@ -189,7 +190,7 @@ void angle_to_cart(float azi, float ele, float res[3]) res[2] = sin( ele * atorad); } -void cart_to_angle(float cvec[3], float avec[3]) +static void cart_to_angle(float cvec[3], float avec[3]) // converts cartesian coordinates to angular { //float tmp, tmp2, tmp3, tmp4; @@ -224,7 +225,7 @@ void cart_to_angle(float cvec[3], float avec[3]) } -void vbap(float g[3], long ls[3], t_vbap *x) +static void vbap(float g[3], long ls[3], t_vbap *x) { /* calculates gain factors using loudspeaker setup and given direction */ float power; @@ -335,7 +336,7 @@ void vbap(float g[3], long ls[3], t_vbap *x) } -void vect_cross_prod(float v1[3], float v2[3], +static void vect_cross_prod(float v1[3], float v2[3], float v3[3]) // vector cross product { @@ -350,7 +351,7 @@ void vect_cross_prod(float v1[3], float v2[3], v3[2] /= length; } -void additive_vbap(float *final_gs, float cartdir[3], t_vbap *x) +static void additive_vbap(float *final_gs, float cartdir[3], t_vbap *x) // calculates gains to be added to previous gains, used in // multiple direction panning (source spreading) { @@ -416,7 +417,7 @@ void additive_vbap(float *final_gs, float cartdir[3], t_vbap *x) } -void new_spread_dir(t_vbap *x, float spreaddir[3], float vscartdir[3], float spread_base[3]) +static void new_spread_dir(t_vbap *x, float spreaddir[3], float vscartdir[3], float spread_base[3]) // subroutine for spreading { float beta,gamma; @@ -446,7 +447,7 @@ void new_spread_dir(t_vbap *x, float spreaddir[3], float vscartdir[3], float spr spreaddir[2] /= power; } -void new_spread_base(t_vbap *x, float spreaddir[3], float vscartdir[3]) +static void new_spread_base(t_vbap *x, float spreaddir[3], float vscartdir[3]) // subroutine for spreading { float d; @@ -463,7 +464,7 @@ void new_spread_base(t_vbap *x, float spreaddir[3], float vscartdir[3]) x->x_spread_base[2] /= power; } -void spread_it(t_vbap *x, float *final_gs) +static void spread_it(t_vbap *x, float *final_gs) // apply the sound signal to multiple panning directions // that causes some spreading. // See theory in paper V. Pulkki "Uniform spreading of amplitude panned @@ -538,7 +539,7 @@ void spread_it(t_vbap *x, float *final_gs) } -void vbap_bang(t_vbap *x) +static void vbap_bang(t_vbap *x) // top level, vbap gains are calculated and outputted { Atom at[MAX_LS_AMOUNT]; @@ -585,7 +586,7 @@ void vbap_bang(t_vbap *x) /*--------------------------------------------------------------------------*/ -void vbap_matrix(t_vbap *x, Symbol *s, int ac, Atom *av) +static void vbap_matrix(t_vbap *x, Symbol *s, int ac, Atom *av) // read in loudspeaker matrices { int datapointer = 0; -- cgit v1.2.1