Hi All, Recently on the blue list an issue came up where some krate signals that were generated with the line opcode never made it to the last value if ksmps > 1. Looking at the code made me wonder: int linset(CSOUND *csound, LINE *p) { MYFLT dur; if ((dur = *p->idur) > FL(0.0)) { p->incr = (*p->ib - *p->ia) / dur * csound->onedkr; p->val = *p->ia; } return OK; } int kline(CSOUND *csound, LINE *p) { *p->xr = p->val; /* rslt = val */ p->val += p->incr; /* val += incr */ return OK; } Does this mean that the line is calculated to reach the end value at the end of the last ksmps block or at the beginning of the last ksmps block? I'm also not sure which is more accurate, to have it calculate to end of last ksmps block or to guarantee reaching the final value given by the user? Any thoughts on this? steven ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net