``` (define* (cosine-channel (beg 0) dur snd chn edpos)
-  (map-channel
-   (let* ((samps (or dur (framples snd chn)))
-	  (incr (/ pi samps))
-	  (angle (* -0.5 pi)))
-     (lambda (y)
-       (let ((val (* y (cos angle))))
-	 (set! angle (+ angle incr))
-	 val)))
-   beg dur snd chn edpos))
+  (let ((fnc (let* ((samps (or dur (framples snd chn)))
+	            (incr (/ pi samps))
+	            (angle (* -0.5 pi)))
+               (lambda (y)
+                 (let ((val (* y (cos angle))))
+	           (set! angle (+ angle incr))
+	           val)))))
+  (map-channel fnc beg dur snd chn edpos)))
```

Here's a slightly more involved example; @@ -9109,8 +9108,8 @@ sample 'samp' for 'samps' samples to the values in 'data'.

```-(set! (samples 0 100) (make-vct 100 .1))
-(set-samples 0 100 (make-vct 100 .1))
+(set! (samples 0 100) (make-float-vector 100 .1))
+(set-samples 0 100 (make-float-vector 100 .1))
```

both change all samples between 0 and 100 to be 0.1. @@ -11347,8 +11346,8 @@ and initial-phase: (define (fft->sines amps phases) (let* ((len (length phases)) (fft-size (expt 2 (+ 10 (ceiling (log len 2))))) - (rl (make-vct fft-size)) - (im (make-vct fft-size))) + (rl (make-float-vector fft-size)) + (im (make-float-vector fft-size))) (do ((i 0 (+ i 1))) ((= i len)) (let ((amp (amps i)) @@ -12087,7 +12086,7 @@ starts the help dialog with help related to the selection if "h" is typed in the (let ((documentation "start help dialog based on listener selected text")) (lambda () (let ((subject (listener-selection))) - (if subject + (if (string? subject) (help-dialog subject (snd-help subject)))))))