rsc3/doc-schelp/HelpSource/Classes/BufSamples.schelp

42 lines
1.1 KiB
Text
Raw Normal View History

2022-08-24 13:53:18 +00:00
class:: BufSamples
summary:: Current number of samples in buffer.
related:: Classes/BufChannels, Classes/BufDur, Classes/BufFrames, Classes/BufRateScale, Classes/BufSampleRate
categories:: UGens>Buffer>Info
Description::
Returns the current number of allocated samples. A sample is not the same as a frame (compare with link::Classes/BufFrames:: ); a frame includes the samples in each channel of the buffer. Only for a mono buffer are samples the same as frames.
code::
samples = frames * numChannels
::
classmethods::
method::kr, ir
argument::bufnum
Buffer index.
discussion::
warning::
The code::.ir:: method is not the safest choice.
Since a buffer can be reallocated at any time, using
code::.ir:: will not track the changes.
::
examples::
code::
// example; this buffer is mono, so the number of samples matches the number of frames
b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");
// indexing with a phasor
{ BufRd.ar(1, b, Phasor.ar(0, BufRateScale.kr(b), 0, BufSamples.kr(b))) }.play;
// indexing by hand
{ BufRd.ar(1, b, K2A.ar(MouseX.kr(0, BufSamples.kr(b)))) }.play;
b.free;
::