diff options
Diffstat (limited to 'pmpd3d_test.c')
-rw-r--r-- | pmpd3d_test.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/pmpd3d_test.c b/pmpd3d_test.c index a8baae6..7d2c116 100644 --- a/pmpd3d_test.c +++ b/pmpd3d_test.c @@ -505,3 +505,51 @@ void pmpd3d_testMassL(t_pmpd3d *x, t_symbol *s, int argc, t_atom *argv) SETSYMBOL(&(list[0]),atom_getsymbolarg(0,argc,argv)); outlet_anything(x->main_outlet, gensym("testMassL"),i+1 , list); } + +void pmpd3d_testLinkN(t_pmpd3d *x, t_symbol *s, int argc, t_atom *argv) +{ + t_atom std_out[3]; + t_int i, tmp; + + SETSYMBOL(&(std_out[0]),atom_getsymbolarg(0,argc,argv)); + i = atom_getfloatarg(1,argc,argv); + i = min(x->nb_link-1,i); + i = max(0,i); + SETFLOAT(&(std_out[1]),i); + + tmp=test_3d_link(i,x,argc,argv); + if (tmp == -1) + { + return; + } + if (tmp) + SETFLOAT(&(std_out[2]),1); + else + SETFLOAT(&(std_out[2]),0); + + outlet_anything(x->main_outlet, gensym("testLinkN"),3,std_out); +} + +void pmpd3d_testMassN(t_pmpd3d *x, t_symbol *s, int argc, t_atom *argv) +{ + t_atom std_out[3]; + t_int i, tmp; + + SETSYMBOL(&(std_out[0]),atom_getsymbolarg(0,argc,argv)); + i = atom_getfloatarg(1,argc,argv); + i = min(x->nb_mass-1,i); + i = max(0,i); + SETFLOAT(&(std_out[1]),i); + + tmp=test_3d_mass(i,x,argc,argv); + if (tmp == -1) + { + return; + } + if (tmp) + SETFLOAT(&(std_out[2]),1); + else + SETFLOAT(&(std_out[2]),0); + + outlet_anything(x->main_outlet, gensym("testMassN"),3,std_out); +} |