On 05/22, Dario Sanfilippo wrote:
>
> > As for ifN. Perhaps something like this can work for you:
> >
> >         ifN(N, inp) = par(n, N, line(n,C)) with {
> >                 C = (outputs(inp) - N) / (N + 1);
> >                 take(i)   = inp : route(outputs(inp),1,i+1,1);
> >                 cond(c)   = take((N+1) * c) != 0;
> >                 else(n)   = take((N+1) * C + n);
> >                 then(n,c) = take((N+1) * c + n + 1);
> >
> >                 line(n,0) = else(n);
> >                 line(n,c) = select2(cond(C-c), line(n,c-1), then(n,C-c));
> >         };
> >
> > the 1st arg N is the number of outputs. Example:
> >
> >         prtcess = ifN(3, C1,t11,t12,t13, C2,t21,t22,t23, ...,
> > Cn,tn1,tn2,tn3, e1,e2,e3).

Sorry, I meant

        process = ifN(3, (C1,t11,t12,t13, C2,t21,t22,t23, ..., Cn,tn1,tn2,tn3, 
e1,e2,e3));

the 2nd arg is list.

> If I run
>
> process = ifN(3, _<-100,-1,-1,-1, _==0,0,0,0, _>100,1,1,1, 10,10,10);
>
> I get ERROR : stack overflow in eval.

See above. try

        process(3, (_<-100,-1,-1,-1, _==0,0,0,0, _>100,1,1,1, 10,10,10));

But note that it has 9 inputs, probably not what you want. Use "_ <: ifN(...)"
or "_,_,_ <: ifN(...)" depending on what do you need.

> Going a bit back: you said that Faust doesn't distinguish between (1,2,3)
> and ((1,2,3)) and that it obviously makes sense; could you elaborate why?

Well, to me "expr", "(expr)", "(((((expre)))))" should be the same thing.
Unless "expr" is the list of expressions, so "1,2" and "(1,2)" is obviously
not the same thing.

But this doesn't really matter. What (I think) does matter is that, say,
((((1,2)))) should match (x,xs), no matter how many parentheses you add.

> Personally, regardless of the complexity of the issue, I'd love to see
> emails here on the list on a daily basis.

Me too!

> Here is the link:
> https://discord.com/channels/382895736356077570/651037481017409595.

thanks... Needs registration. Not for me.

(Damn yes, I joined faustaudio and I am ashamed I did this, but this is
 because I like faust too much ;)

Oleg.



_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to