From ca8203e73c1d1f525204089101628bedcf115bff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Wed, 12 Jan 2011 18:14:46 +0000 Subject: input/output parameters svn path=/trunk/externals/iem/mediasettings/; revision=14721 --- audiosettings.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/audiosettings.c b/audiosettings.c index 043586c..709fd8e 100644 --- a/audiosettings.c +++ b/audiosettings.c @@ -390,7 +390,6 @@ static int audiosettings_setparams_next(int argc, t_atom*argv) { static int audiosettings_setparams_rate(t_audiosettings*x, int argc, t_atom*argv) { if(argc<=0)return 1; t_int rate=atom_getint(argv); - post("::rate=%d\t", rate); if(rate>0) x->x_params.rate=rate; return 1; @@ -403,7 +402,6 @@ static int audiosettings_setparams_advance(t_audiosettings*x, int argc, t_atom*a if(advance>0) x->x_params.advance=advance; - post("::advance=%d", advance); return 1; } @@ -413,17 +411,70 @@ static int audiosettings_setparams_callback(t_audiosettings*x, int argc, t_atom* t_int callback=atom_getint(argv); x->x_params.callback=callback; - post("::callback=%d", callback); return 1; } /* [ ]* ... */ static int audiosettings_setparams_input(t_audiosettings*x, int argc, t_atom*argv) { - return 0; + int length=audiosettings_setparams_next(argc, argv); + int i; + int numpairs=length/2; + + if(length%2)return length; + + if(numpairs>MAXAUDIOINDEV) + numpairs=MAXAUDIOINDEV; + + for(i=0; ix_params.audioindev[i]=dev; + x->x_params.chindev[i]=ch; + } + + return length; } static int audiosettings_setparams_output(t_audiosettings*x, int argc, t_atom*argv) { - return 0; + int length=audiosettings_setparams_next(argc, argv); + int i; + int numpairs=length/2; + + if(length%2)return length; + + if(numpairs>MAXAUDIOOUTDEV) + numpairs=MAXAUDIOOUTDEV; + + for(i=0; ix_params.audiooutdev[i]=dev; + x->x_params.choutdev[i]=ch; + } + + return length; } static void audiosettings_setparams(t_audiosettings *x, t_symbol*s, int argc, t_atom*argv) { -- cgit v1.2.1