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