From b9fa6f8c326dc5cfa2ba3ac3a15f98e6670ddf25 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 28 Aug 2014 18:01:21 -0400 Subject: transition: Rewrite in terms of signal-generator. * sly/transition.scm (transition): Use signal-generator. --- sly/transition.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/sly/transition.scm b/sly/transition.scm index f813828..ae18e84 100644 --- a/sly/transition.scm +++ b/sly/transition.scm @@ -152,13 +152,12 @@ transition." (define (value-at t) (interpolator start end (ease t duration))) - (let ((signal (make-signal start))) - (coroutine - (let lp ((t 0)) - (if (< t duration) - (begin - (wait (min step (- duration t))) - (signal-set! signal (value-at t)) - (lp (+ t step))) - (signal-set! signal end)))) - signal))) + (signal-generator + (let lp ((t 0)) + (yield start) + (if (< t duration) + (begin + (wait (min step (- duration t))) + (yield (value-at t)) + (lp (+ t step))) + (yield end)))))) -- cgit v1.2.3