hello, I made a bug report on github regarding a bug of the line object :
When a "stop" message is send after the end of a ramp, the origin of the next ramp is incorrect. This have been introduce with pd 0.48 attachment is a patch that show the problem: line_bug.pd.zip
The fix is simple : the x->x_setval should only be set if (clock_getsystime() < x->x_targettime) The correct line_stop function should be :
static void line_stop(t_line *x) { if ((pd_compatibilitylevel >= 48) && (pd_compatibilitylevel < 49)) x->x_setval += x->x_1overtimediff * (clock_getsystime() - x->x_prevtime) * (x->x_targetval - x->x_setval); if (pd_compatibilitylevel >= 49) if (clock_getsystime() >= x->x_targettime) x->x_setval = x->x_targetval; else x->x_setval += x->x_1overtimediff * (clock_getsystime() - x->x_prevtime) * (x->x_targetval - x->x_setval); x->x_targetval = x->x_setval; clock_unset(x->x_clock); }
(sorry, I have no time for a clean pull request)