PlayBuf

final case
class PlayBuf(rate: Rate, numChannels: Int, buf: GE, speed: GE, trig: GE, offset: GE, loop: GE, doneAction: GE) extends MultiOut with HasSideEffect with IsIndividual with HasDoneFlag

A UGen to play back samples from a buffer in memory.

PlayBuf provides a kind of high-level interface to sample-playback, whereas BufRd represents a kind of lower-level access. While BufRd has a random-access-pointer in the form of a phase input, PlayBuf advances the phase automatically based on a given playback speed. PlayBuf uses cubic interpolation.

Value Params
buf

the identifier of the buffer to use

doneAction

what to do when the play head reaches the buffer end. This is only effective when loop is zero.

loop

1 to loop after the play head reaches the buffer end, 0 to not loop. This can be modulated.

numChannels

the number of channels that the buffer will be. Since this is a constant, a change in number of channels of the underlying bus must be reflected by creating different SynthDefs. If a buffer identifier is used of a buffer that has a different numChannels then specified in the PlayBuf, it will fail silently.

offset

sample frame to start playback. This is read when a trigger occurs. It may be fractional.

speed

1 advances the play head by the server's sample rate each second. So 2 means doubling speed (and pitch), and 0.5 means half speed (and half pitch). Negative numbers can be used for backwards playback. If the underlying buffer represents a sound at a different sample rate, the rate should be multiplied by BufRateScale.kr(buf) to obtain the correct speed.

trig

a trigger which causes a jump to the given offset . A trigger occurs when a signal changes from non-positive to positive (e.g. <= 0 to > 0).

See also
Companion
object
trait Serializable
trait HasDoneFlag
trait IsIndividual
trait HasSideEffect
class MultiOut
class SomeOut
trait Lazy
trait GE
class UGenSource[UGenInLike]
trait Expander[UGenInLike]
trait Lazy
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Inherited methods

final
def name: String
Inherited from
UGenSource
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product

Inherited fields

lazy override
val hashCode: Int
Inherited from
UGenSource