From 3b5df162746f08d68eb138ac7dba4876d3be2779 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 4 Nov 2021 10:51:10 +0000 Subject: [PATCH] helpfiles made: FluidBufToKr and FluidKrToBuf --- .../HelpSource/Classes/FluidBufToKr.schelp | 39 +++++++++++++++ .../HelpSource/Classes/FluidKrToBuf.schelp | 48 +++++++++++++++++++ test/FluidBufToKr test.scd | 4 +- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 release-packaging/HelpSource/Classes/FluidBufToKr.schelp create mode 100644 release-packaging/HelpSource/Classes/FluidKrToBuf.schelp diff --git a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp new file mode 100644 index 0000000..5d558a5 --- /dev/null +++ b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp @@ -0,0 +1,39 @@ +TITLE:: FluidBufToKr +summary:: Helper pseudo UGen for reading data out of a buffer to a Kr stream +categories:: Libraries>FluidCorpusManipulation +related:: Classes/FluidKrToBuf + +DESCRIPTION:: +Helper pseudo UGen for reading data out of a buffer to a Kr stream. It only reads one-channel buffers, converting them to a Kr stream with as many channels as the number of frames that the buffer is long. + +CLASSMETHODS:: + +METHOD:: kr +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. + +returns:: a Kr stream that has the same number of channels as frames in the link::Classes/Buffer::. + +INSTANCEMETHODS:: + +EXAMPLES:: + +code:: +( +// 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; +} +) +:: \ No newline at end of file diff --git a/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp new file mode 100644 index 0000000..87b7f5b --- /dev/null +++ b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp @@ -0,0 +1,48 @@ +TITLE:: FluidKrToBuf +summary:: Helper pseudo UGen for writing data into a buffer from a Kr stream +categories:: Libraries>FluidCorpusManipulation +related:: Classes/FluidBufToKr + +DESCRIPTION:: +Helper pseudo UGen for writing data into a buffer from a Kr stream. It only works with one-channel buffers. The number of frames in the link::Classes/Buffer:: must be the same as the number of channels in the Kr stream. + +CLASSMETHODS:: + +METHOD:: kr +Create a new instance of this pseudo UGen. + +ARGUMENT:: krStream +The Kr stream to write into the buffer. + +ARGUMENT:: buffer +The link::Classes/Buffer:: to write the Kr stream into. + +returns:: Nothing. + + +INSTANCEMETHODS:: + + +EXAMPLES:: + +code:: +( +// FluidKrToBuf test +s.waitForBoot{ + Routine{ + var buf = Buffer.alloc(s,5); + + s.sync; + + { + var sig = SinOsc.kr(rrand(1.0.dup(buf.numFrames),4.0)); + FluidKrToBuf.kr(sig,buf); + }.play; + + 1.wait; + + defer{buf.plot}; + }.play; +} +) +:: diff --git a/test/FluidBufToKr test.scd b/test/FluidBufToKr test.scd index 4603c2f..e3c2c01 100644 --- a/test/FluidBufToKr test.scd +++ b/test/FluidBufToKr test.scd @@ -11,7 +11,7 @@ s.waitForBoot{ FluidKrToBuf.kr(sig,buf); }.play; - 3.wait; + 1.wait; defer{buf.plot}; }.play; @@ -98,7 +98,7 @@ s.waitForBoot{ /// 1000 is fine s.waitForBoot{ Routine{ - var buf = Buffer.loadCollection(s,Array.fill(1000,{arg i; i})); + var buf = Buffer.loadCollection(s,Array.fill(1001,{arg i; i})); s.sync;