diff options
Diffstat (limited to 'guile')
-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))))))) |