aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/effects.scm
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-03-07 09:15:14 +0100
committerThomas White <taw@physics.org>2021-03-07 09:15:14 +0100
commit90addf3281a3df6b2e249ea124d68dff9bdb9727 (patch)
tree1946d7b339ef2a2eb80038b5d4a2d2a4294895b1 /guile/starlet/effects.scm
parentaaba9ab35e01a5b433158cb66f5e6789bf29eda7 (diff)
Add 'sinewave' effect
Diffstat (limited to 'guile/starlet/effects.scm')
-rw-r--r--guile/starlet/effects.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/guile/starlet/effects.scm b/guile/starlet/effects.scm
index d908a52..73b19eb 100644
--- a/guile/starlet/effects.scm
+++ b/guile/starlet/effects.scm
@@ -1,6 +1,7 @@
(define-module (starlet effects)
#:use-module (starlet base)
- #:export (flash))
+ #:export (flash
+ sinewave))
(define pi (* 2 (acos 0)))
@@ -14,3 +15,10 @@
(define (flash hz)
(lambda (time)
(square-wave time hz)))
+
+
+(define (sinewave hz range-min range-max)
+ (lambda (time)
+ (+ range-min
+ (* (/ (- range-max range-min) 2)
+ (+ 1 (sin (* 2 pi hz time)))))))