diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2011-10-09 16:36:37 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2011-10-09 16:36:37 +0000 |
commit | 21c068f1916330e90f814bed461fe0821d1665ec (patch) | |
tree | 949b73696fff09a44b8d3eb01b70bae7174cbd14 /pd/src/x_time.c | |
parent | bf8ced1efe1a032342e864edc635fa4e2676670d (diff) |
checked in pd-0.43-0.src.tar.gz
svn path=/trunk/; revision=15557
Diffstat (limited to 'pd/src/x_time.c')
-rw-r--r-- | pd/src/x_time.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pd/src/x_time.c b/pd/src/x_time.c index 5dc9d37f..c81c1ed1 100644 --- a/pd/src/x_time.c +++ b/pd/src/x_time.c @@ -139,6 +139,7 @@ static void metro_setup(void) } /* -------------------------- line ------------------------------ */ +#define DEFAULTLINEGRAIN 20 static t_class *line_class; typedef struct _line @@ -168,6 +169,8 @@ static void line_tick(t_line *x) outlet_float(x->x_obj.ob_outlet, x->x_setval + x->x_1overtimediff * (timenow - x->x_prevtime) * (x->x_targetval - x->x_setval)); + if (x->x_grain <= 0) + x->x_grain = DEFAULTLINEGRAIN; clock_delay(x->x_clock, (x->x_grain > msectogo ? msectogo : x->x_grain)); } @@ -188,6 +191,8 @@ static void line_float(t_line *x, t_float f) line_tick(x); x->x_gotinlet = 0; x->x_1overtimediff = 1./ (x->x_targettime - timenow); + if (x->x_grain <= 0) + x->x_grain = DEFAULTLINEGRAIN; clock_delay(x->x_clock, (x->x_grain > x->x_in1val ? x->x_in1val : x->x_grain)); @@ -232,10 +237,10 @@ static void *line_new(t_floatarg f, t_floatarg grain) x->x_1overtimediff = 1; x->x_clock = clock_new(x, (t_method)line_tick); x->x_targettime = x->x_prevtime = clock_getsystime(); - if (grain <= 0) grain = 20; x->x_grain = grain; outlet_new(&x->x_obj, gensym("float")); inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("float"), gensym("ft1")); + floatinlet_new(&x->x_obj, &x->x_grain); return (x); } |