From 90addf3281a3df6b2e249ea124d68dff9bdb9727 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sun, 7 Mar 2021 09:15:14 +0100 Subject: Add 'sinewave' effect --- guile/starlet/effects.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'guile/starlet/effects.scm') 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))))))) -- cgit v1.2.3