object BufWr extends ProductReader[BufWr] with Serializable
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)
- Alphabetic
- By Inheritance
- BufWr
- Serializable
- ProductReader
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def ar(in: GE, buf: GE, index: GE = 0.0f, loop: GE = 1): BufWr
- in
input signal to record
- buf
the identifier of the buffer to use
- index
audio rate frame-index into the buffer.
- loop
1 to enable looping, 0 to disable looping. this can be modulated.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def ir(in: GE, buf: GE, index: GE = 0.0f, loop: GE = 1): BufWr
- in
input signal to record
- buf
the identifier of the buffer to use
- index
audio rate frame-index into the buffer.
- loop
1 to enable looping, 0 to disable looping. this can be modulated.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def kr(in: GE, buf: GE, index: GE = 0.0f, loop: GE = 1): BufWr
- in
input signal to record
- buf
the identifier of the buffer to use
- index
audio rate frame-index into the buffer.
- loop
1 to enable looping, 0 to disable looping. this can be modulated.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def read(in: RefMapIn, key: String, arity: Int): BufWr
- Definition Classes
- BufWr → ProductReader
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated