This seems to fix teh problem. I don't know how you or anyone (myself included) can understand how that code works...
cheers Miller
On Wed, Feb 14, 2018 at 07:49:19AM +0100, Nicolas Danet wrote:
Hi,
< https://github.com/pure-data/pure-data/blob/master/src/g_io.c#L210 >
x->x_fill = x->x_endbuf - (x->x_hop - prologphase * re_parentvecsize);
< g.io.c / line 210 >
IMHO it does not properly shift the buffer in case of overlap (i.g. [block~ 512 4]) if stopping/restarting the DSP.
x->x_fill = prologphase ? x->x_endbuf - (x->x_hop - prologphase * re_parentvecsize) : x->x_endbuf;
The change above might solve the problem.
I'm not 100 % sure. I'm currently testing the fix on Spaghettis < https://github.com/Spaghettis/Spaghettis/compare/dev >.
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev