BufWr

object BufWr extends ProductReader[BufWr]

A UGen that writes a signal to a buffer, using an index pointer.

Warning: if the supplied buf refers to a buffer whose number of channels differs from those of the input signal, the UGen will fail silently.

An alternative to BufWr is RecordBuf . While RecordBuf advances the index into the buffer by itself, BufWr only moves its write point by the index input, making it possible to adjust the writing speed or to access the buffer in a non-linear way. RecordBuf can determine the end of the buffer and issue a done-action.

===Examples===

// record and playback
// a two second mono buffer
val b = Buffer.alloc(s, numFrames = s.sampleRate.toInt * 2)

val y = play {
 val sig  = SinOsc.ar(LFNoise1.kr(2).mulAdd(300, 400)) * 0.1
 val rate = "rate" kr 1
 BufWr.ar(in = sig, buf = b.id, index =
   Phasor.ar(speed = BufRateScale.kr(b.id) * rate, lo = 0, hi = BufFrames.kr(b.id)))
 0.0 // quiet
}

// read it with a BufRd
val x = play {
 val rate = "rate" kr 1
 BufRd.ar(1, buf = b.id, index =
   Phasor.ar(speed = BufRateScale.kr(b.id) * rate, lo = 0, hi = BufFrames.kr(b.id)))
}

x.set("rate" -> 5)
y.set("rate" -> 3)
x.set("rate" -> 2)
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[BufWr]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ar(in: GE, buf: GE, index: GE, loop: GE): BufWr
Value Params
buf

the identifier of the buffer to use

in

input signal to record

index

audio rate frame-index into the buffer.

loop

1 to enable looping, 0 to disable looping. this can be modulated.

def ir(in: GE, buf: GE, index: GE, loop: GE): BufWr
Value Params
buf

the identifier of the buffer to use

in

input signal to record

index

audio rate frame-index into the buffer.

loop

1 to enable looping, 0 to disable looping. this can be modulated.

def kr(in: GE, buf: GE, index: GE, loop: GE): BufWr
Value Params
buf

the identifier of the buffer to use

in

input signal to record

index

audio rate frame-index into the buffer.

loop

1 to enable looping, 0 to disable looping. this can be modulated.

def read(in: RefMapIn, key: String, arity: Int): BufWr