Hi Yann, sorry I couldn't reply earlier,
On 08/21, Yann Orlarey wrote: > > Hi Oleg, > > Thank you for your example. It is very interesting because it shows that it > is now possible to write pathological Faust programs that cannot be > executed (without infinite memory)! Heh. Thanks, I didn't even realize that my example is really interesting ;) I used ffunction's just to make the generated code more readable, somehow I din't realize that faust simply can't "unshare" the signal in this case. So I was wrong, ondemand() already differs from control() as it currently implemented, clk = ffunction(int clk(), "",""); process = clk : ondemand(ba.time), ba.time; generates the code which looks good to me, while clk = ffunction(int clk(), "",""); process = control(ba.time,clk), ba.time; compiles to virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** output) { //zone1 //zone2 //zone2b //zone3 FAUSTFLOAT* output0 = output[0]; FAUSTFLOAT* output1 = output[1]; //LoopGraphScalar for (int i=0; i<count; i++) { iRec0[0] = (iRec0[1] + 1); int iTemp0 = (iRec0[0] + -1); output0[i] = (FAUSTFLOAT)iTemp0; output1[i] = (FAUSTFLOAT)iTemp0; // post processing iRec0[1] = iRec0[0]; } } Oleg. _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users