42 lines
1.1 KiB
Text
42 lines
1.1 KiB
Text
|
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;
|
||
|
::
|
||
|
|