implicit final class BufferOps extends AnyVal
- Alphabetic
- By Inheritance
- BufferOps
- AnyVal
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- Any
- final def ##: Int
- Definition Classes
- Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- Any
- def alloc(numFrames: Int, numChannels: Int = 1, completion: Optional[Packet] = None): Future[Unit]
- def allocRead(path: String, startFrame: Int = 0, numFrames: Int = -1, completion: Optional[Packet] = None): Future[Unit]
- def allocReadChannel(path: String, startFrame: Int = 0, numFrames: Int = -1, channels: Seq[Int], completion: Optional[Packet] = None): Future[Unit]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def cheby(amps: Seq[Float], normalize: Boolean = true, wavetable: Boolean = true, clear: Boolean = true): Future[Unit]
Fills the buffer with a series of Chebyshev polynomials.
Fills the buffer with a series of Chebyshev polynomials. The formula of these polynomials is
cheby(n) = amplitude * cos(n * acos(x))
To eliminate a DC offset when used as a wave-shaper, the wavetable is offset so that the center value is zero.
- amps
amplitudes for the harmonics. amplitudes for the harmonics. The first value specifies the amplitude for n = 1, the second float value specifies the amplitude for n = 2, and so on.
- normalize
if set, the peak amplitude of the generated waveform is normalized to
1.0
- wavetable
if set, the format of the waveform is chosen to be usable by specific UGens such as such as Shaper or Osc
- clear
if set, the previous content is erased, otherwise the new waveform is added to the existing content
- def close(completion: Optional[Packet] = None): Unit
- def fill(data: FillRange*): Unit
- def fill(value: Double): Unit
- def free(completion: Optional[Packet] = None): Unit
- def gen(command: Command): Future[Unit]
- def get(indices: Int*): Future[IndexedSeq[Float]]
- def getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
- def getData(offset: Int = 0, num: Int = -1): Future[IndexedSeq[Float]]
Retrieves the entire buffer contents.
Retrieves the entire buffer contents. This is similar to
getToFloatArray
in sclang. If multiple packets must be sent due to the size, they will be scheduled strictly sequentially. This is safe but potentially slow for large buffers.- offset
offset into the buffer in samples; for multi-channel buffers to indicate a specific frame the frame index must be multiplied by the number of channels
- num
the number of samples to get; for multi-channel buffers to indicate a specific number of frames, the number must be multiplied by the number of channels. The special value
-1
means that all samples should be retrieved
- def getn(pairs: Range*): Future[IndexedSeq[Float]]
Gets ranges of the buffer content and returns them as a future flattened collection.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def play(loop: Boolean = false, amp: Double = 1.0, out: Int = 0): Synth
- def read(path: String, fileStartFrame: Int = 0, numFrames: Int = -1, bufStartFrame: Int = 0, leaveOpen: Boolean = false, completion: Optional[Packet] = None): Future[Unit]
- def readChannel(path: String, fileStartFrame: Int = 0, numFrames: Int = -1, bufStartFrame: Int = 0, leaveOpen: Boolean = false, channels: Seq[Int], completion: Optional[Packet] = None): Future[Unit]
- def set(pairs: FillValue*): Unit
Sets the contents of the buffer by replacing individual sample values.
Sets the contents of the buffer by replacing individual sample values. An error is thrown if any of the given offsets is out of range.
- pairs
a list of modifications to the buffer contents, each element being a sample offset and the sample value. The sample offset ranges from zero to the number of samples in the buffer (exclusive), i.e.
numChannels * numFrames
. For instance, in a stereo-buffer, the offset for the right channel's fifth frame is(5-1) * 2 + 1 = 9
.
- def setData(values: IndexedSeq[Float], offset: Int = 0): Future[Unit]
Transmits a collection to fill the entire buffer contents.
Transmits a collection to fill the entire buffer contents. This is similar to
sendCollection
in sclang, If multiple packets must be sent due to the size, they will be scheduled strictly sequentially. This is safe but potentially slow for large buffers.- values
the collection to copy into the buffer; values are assumed to be de-interleaved if the buffer has multiple channels.
- offset
offset into the buffer in samples; for multi-channel buffers to indicate a specific frame the frame index must be multiplied by the number of channels
- def setn(pairs: (Int, IndexedSeq[Float])*): Unit
Sets the contents of the buffer by replacing individual contiguous chunks of data.
Sets the contents of the buffer by replacing individual contiguous chunks of data. An error is thrown if any of the given ranges lies outside the valid range of the entire buffer.
- pairs
a list of modifications to the buffer contents, each element being a sample offset and a chunk of values. The data is channel-interleaved, e.g. for a stereo-buffer, the offset for the right channel's fifth frame is
(5-1) * 2 + 1 = 9
. Accordingly, values in the float-sequences are considered channel-interleaved, i.e. for a stereo buffer and an even offset, the first element of the sequence refers to frameoffset / 2
of the left channel, the second element to frameoffset / 2
of the right channel, followed by frameoffset / 2 + 1
of the left channel, and so on.
- def setn(v: IndexedSeq[Float]): Unit
Sets the entire contents of the buffer.
Sets the entire contents of the buffer. An error is thrown if the number of given values does not match the number of samples in the buffer.
- v
the new content of the buffer. the size of the sequence must be exactly the number of samples in the buffer, i.e.
numChannels * numFrames
. Values are channel-interleaved, that is for a stereo-buffer the first element specifies the value of the first frame of the left channel, the second element specifies the value of the first frame of the right channel, followed by the second frame of the left channel, etc.
- def sine1(partials: Seq[Float], normalize: Boolean = true, wavetable: Boolean = true, clear: Boolean = true): Future[Unit]
Fills the buffer with a series of sine wave harmonics using specified amplitudes.
Fills the buffer with a series of sine wave harmonics using specified amplitudes.
- partials
amplitudes for the harmonics. The first value specifies the amplitude of the first partial, the second float value specifies the amplitude of the second partial, and so on.
- normalize
if set, the peak amplitude of the generated waveform is normalized to
1.0
- wavetable
if set, the format of the waveform is chosen to be usable by interpolating oscillators such as Osc or VOsc
- clear
if set, the previous content is erased, otherwise the new waveform is added to the existing content
- def sine2(partials: Seq[(Float, Float)], normalize: Boolean = true, wavetable: Boolean = true, clear: Boolean = true): Future[Unit]
Fills the buffer with a series of sine waves using specified frequencies and amplitudes.
Fills the buffer with a series of sine waves using specified frequencies and amplitudes.
- partials
pairs of frequencies and amplitudes for the partials. Frequencies are given as in cycles per buffer.
- normalize
if set, the peak amplitude of the generated waveform is normalized to
1.0
- wavetable
if set, the format of the waveform is chosen to be usable by interpolating oscillators such as Osc or VOsc
- clear
if set, the previous content is erased, otherwise the new waveform is added to the existing content
- def sine3(partials: Seq[(Float, Float, Float)], normalize: Boolean = true, wavetable: Boolean = true, clear: Boolean = true): Future[Unit]
Fills the buffer with a series of sine waves using specified frequencies, amplitudes, and phases.
Fills the buffer with a series of sine waves using specified frequencies, amplitudes, and phases.
- partials
triplets of frequencies, amplitudes and initial phases for the partials. Frequencies are given as in cycles per buffer. Phases are given in radians.
- normalize
if set, the peak amplitude of the generated waveform is normalized to
1.0
- wavetable
if set, the format of the waveform is chosen to be usable by interpolating oscillators such as Osc or VOsc
- clear
if set, the previous content is erased, otherwise the new waveform is added to the existing content
- def toString(): String
- Definition Classes
- Any
- def write(path: String, fileType: AudioFileType = AudioFileType.AIFF, sampleFormat: SampleFormat = SampleFormat.Float, numFrames: Int = -1, startFrame: Int = 0, leaveOpen: Boolean = false, completion: Optional[Packet] = None): Future[Unit]
- def zero(completion: Optional[Packet] = None): Future[Unit]