Useful observations, Oleg. I had suspected optimization might be involved. It looks like this bug involving constant indices might be easy to fix and also easy to work around. I guess one workaround is to use hidden nentry objects that the optimizer will not see as constant.
Nevertheless, I also encounter difficulties when using variable indices. Consider the case of using gate signals to control recording and playback. This example alternately records and then plays back repeatedly. import ("stdfaust.lib"); ramp = * ~ + (1); sampler(tableSize, play, record) = rwtable(tableSize, 0, play : ramp, _, record : ramp); process = x : sampler(tableSize, play, record) with { tableSize = 1024; gate = ba.pulsen(512, 2048); record = gate; play = gate @ 1024; x = os.osc(55); }; The output is mostly zero with some very short, sparse pulses. _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users