#lang scribble/manual @(require (for-label racket)) @title{(disk-out bufnum channels)} @racketblock[ (let ((bus-size 1024) (bufferexpt 15)) (= 0 (fxand (expt 2 bufferexpt) (- (fxarithmetic-shift bus-size 1) 1)))) ] @racketblock[ (let ((g (letc ((bufnum 0)) (let ((z (clip2 (rlpf (lf-pulse (mul-add (sin-osc 0.2 0) 10 21) (mce2 0 0.1) 0.1) 100 0.1) 0.4))) (mrg2 (disk-out bufnum z) (out 0 z)))))) (with-sc3 (lambda (fd) (send-synth fd "disk-out-help" g) (async fd (b-alloc 10 32768 2)) (async fd (b-write 10 "/tmp/test.aiff" "aiff" "float" 32768 0 1)) (send fd (s-new1 "disk-out-help" 1001 1 1 "bufnum" 10))))) ] @racketblock[ (with-sc3 (lambda (fd) (send fd (n-free1 1001)) (async fd (b-close 10)) (async fd (b-free 10)))) ] @racketblock[ (system "sndfile-info /tmp/test.aiff") ] @racketblock[ (system "jack-play /tmp/test.aiff") ]