VDiskIn

object VDiskIn extends ProductReader[VDiskIn]

A UGen to stream in a signal from an audio file with variable playback speed. Continuously plays a longer audio file from disk. This requires a buffer to be preloaded with one buffer size of sound. If loop is set to 1, the file will loop.

'''Note''': The buffer size must be a multiple of (2 * the server's block size). See Buffer#cue for details.

If the speed is too high, the UGen will not execute, posting a warning.

See also

Buffer#cue

Companion
class
trait Product
trait Mirror
trait ProductReader[VDiskIn]
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(numChannels: Int, buf: GE, speed: GE, loop: GE, sendId: GE): VDiskIn
Value Params
buf

the id of the buffer with the correct number of channels and frames

loop

whether the file should loop when its end is reached

numChannels

the amount of channels the file and the buffer will have. This is an Int and hence must be pre-determined. Different SynthDefs must be created for different numbers of channels

sendId

If a value other than zero is used, the UGen sends an OSC message with this id and the file position each time it reloads the buffer: OSCMessage("/diskin", nodeId, sendId, frame)

speed

controls the speed of playback. The buffer is always streamed at a frequency of SampleRate.ir * speed , so the buffer's own sample rate is irrelevant. Factors below 4 are probably fine, but the higher the value, the more disk activity there is, and the more likelihood there will be a problem. The following must be true: rate < bufFrames / (2 * blockSize) , e.g with typical default values, this will be 32768 / (2 * 64) = 256 .

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