diff options
author | Thomas White <taw@physics.org> | 2021-03-07 09:15:14 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2021-03-07 09:15:14 +0100 |
commit | 90addf3281a3df6b2e249ea124d68dff9bdb9727 (patch) | |
tree | 1946d7b339ef2a2eb80038b5d4a2d2a4294895b1 /guile/starlet/effects.scm | |
parent | aaba9ab35e01a5b433158cb66f5e6789bf29eda7 (diff) |
Add 'sinewave' effect
Diffstat (limited to 'guile/starlet/effects.scm')
-rw-r--r-- | guile/starlet/effects.scm | 10 |
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))))))) |