diff options
Diffstat (limited to 'pmpd_test.c')
-rw-r--r-- | pmpd_test.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pmpd_test.c b/pmpd_test.c index f5b49f8..1fb50a3 100644 --- a/pmpd_test.c +++ b/pmpd_test.c @@ -15,6 +15,11 @@ int test_1d_mass(int i, t_pmpd *x, int argc, t_atom *argv) if ( x->mass[i].Id != atom_getsymbolarg(j+1,argc,argv) ) { return(0); } j+=2; } + else if (atom_getsymbolarg(j,argc,argv) == gensym("mobile") ) + { + if ( x->mass[i].mobile != atom_getfloatarg(j+1,argc,argv) ) { return(0); } + j+=2; + } else if (atom_getsymbolarg(j,argc,argv) == gensym("posXSup") ) { if ( x->mass[i].posX < atom_getfloatarg(j+1,argc,argv) ) { return(0); } @@ -175,6 +180,11 @@ int test_1d_link(int i, t_pmpd *x, int argc, t_atom *argv) { if ( x->link[i].Id != atom_getsymbolarg(j+1,argc,argv) ) { return(0); } j+=2; + } + else if (atom_getsymbolarg(j,argc,argv) == gensym("active") ) + { + if ( x->link[i].active != atom_getfloatarg(j+1,argc,argv) ) { return(0); } + j+=2; } else if (atom_getsymbolarg(j,argc,argv) == gensym("forceXSup") ) { @@ -443,3 +453,51 @@ void pmpd_testMassN(t_pmpd *x, t_symbol *s, int argc, t_atom *argv) outlet_anything(x->main_outlet, gensym("testMassN"),3,std_out); } + +void pmpd_testLinkNumber(t_pmpd *x, t_symbol *s, int argc, t_atom *argv) +{ + t_int i, tmp, nb; + t_atom std_out[2]; + + SETSYMBOL(&(std_out[0]),atom_getsymbolarg(0,argc,argv)); + + nb=0; + for (i=0; i < x->nb_link; i++) + { + tmp=test_link(i,x,argc,argv); + if (tmp == -1) + { + break; + } + else if (tmp) + { + nb++; + } + } + SETFLOAT(&(std_out[1]),nb); + outlet_anything(x->main_outlet, gensym("testLinkNumber"),2,std_out); +} + +void pmpd_testMassNumber(t_pmpd *x, t_symbol *s, int argc, t_atom *argv) +{ + t_int i, tmp, nb; + t_atom std_out[2]; + + SETSYMBOL(&(std_out[0]),atom_getsymbolarg(0,argc,argv)); + + nb = 0; + for (i=0; i < x->nb_mass; i++) + { + tmp=test_mass(i,x,argc,argv); + if (tmp == -1) + { + break; + } + else if (tmp) + { + nb++; + } + } + SETFLOAT(&(std_out[1]),nb); + outlet_anything(x->main_outlet, gensym("testMassNumber"),2,std_out); +} |