aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/playback.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guile/starlet/playback.scm')
-rw-r--r--guile/starlet/playback.scm24
1 files changed, 23 insertions, 1 deletions
diff --git a/guile/starlet/playback.scm b/guile/starlet/playback.scm
index c9153d8..9d372bf 100644
--- a/guile/starlet/playback.scm
+++ b/guile/starlet/playback.scm
@@ -304,7 +304,28 @@
(lambda (time)
(cond
((< time fade-start-time) start-val)
- ((> time (+ preset-start-time preset-time)) preset-val)
+ ((and (not (eq? 'no-value preset-val))
+ (> time (+ preset-start-time preset-time)))
+ preset-val)
+ (else target-val))))
+
+
+(define (make-colour-fade start-val
+ target-val
+ preset-val
+ fade-time
+ fade-start-time
+ preset-time
+ preset-start-time)
+ (lambda (time)
+ (cond
+
+ ((< time fade-start-time) start-val)
+
+ ((and (not (eq? 'no-value preset-val))
+ (> time (+ preset-start-time preset-time)))
+ preset-val)
+
(else target-val))))
@@ -449,6 +470,7 @@
(cond
((eq? type 'continuous) make-continuous-attr-fade)
((eq? type 'list) make-list-attr-fade)
+ ((eq? type 'colour) make-colour-fade)
(else
(raise-exception (make-exception
(make-exception-with-message