From 289360f5d31cbcd2077237c366d17385f90a192c Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 6 Dec 2021 19:32:25 +0000 Subject: [PATCH] FluidBufToKr help file --- .../HelpSource/Classes/FluidBufToKr.schelp | 47 ++++++++++++++----- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp index 5d558a5..ea85655 100644 --- a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp @@ -14,6 +14,9 @@ Initialize an instance of this pseudo UGen ARGUMENT:: buffer The link::Classes/Buffer:: that this pseudo UGen will read out of. Must be a one-channel buffer. +ARGUMENT:: numFrames +How many frames the buffer is that will evenutally passed. If providing a buffer directly (instead of as an argument to a SynthDef), the default of -1 will get the number of frames from the buffer passed. + returns:: a Kr stream that has the same number of channels as frames in the link::Classes/Buffer::. INSTANCEMETHODS:: @@ -21,19 +24,37 @@ INSTANCEMETHODS:: EXAMPLES:: code:: +// make a buffer with some data in it +~buf = Buffer.loadCollection(s,[0,1,2,3,4,7]); + +// play it on the server and read out of this buffer! +( +{ + var sig = FluidBufToKr.kr(~buf); + sig.poll; +}.play; +) + +// =============== passing a buffer as an argument ====================== + +// create a synth that both writes into a buffer (with FluidKrToBuf) and reads +// out of the same buffer (with FluidBufToKr) ( -// FluidBufToKr -s.waitForBoot{ - Routine{ - var buf = Buffer.loadCollection(s,[0,1,2,3,4,7]); - - s.sync; - - { - var sig = FluidBufToKr.kr(buf); - sig.poll; - }.play; - }.play; -} +~synth = { + arg buf = 999; + FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); + + // you need to specify the 5 so the synth here will know how many channels to make + // the output proxy + FluidBufToKr.kr(buf,5).poll; +}.play; +// you should see all zeros! (unless your buffer #999 has something in it already!) ) + +// ...then after it is running, instantiate the buffer +~buffer = Buffer.alloc(s,5); + +// ...then send it to the buffer +~synth.set(\buf,~buffer); +// you should be able to see the sine oscillators now! :: \ No newline at end of file