Package

de.sciss.fscape

graph

Permalink

package graph

Visibility
  1. Public
  2. All

Type Members

  1. final case class ARCWindow(in: GE, size: GE, lo: GE = 0.0, hi: GE = 1.0, lag: GE = 0.96) extends SingleOut with Product with Serializable

    Permalink

    Automatic range control UGen.

    Automatic range control UGen. It traces the range of a windowed input signal.

    in

    signal to adjust

    size

    window size of input

    lo

    desired lower margin of output

    hi

    desired upper margin of output

    lag

    lag or feedback coefficient

  2. final case class AffineTransform2D(in: GE, widthIn: GE, heightIn: GE, widthOut: GE = 0, heightOut: GE = 0, m00: GE, m10: GE, m01: GE, m11: GE, m02: GE, m12: GE, wrap: GE = 1, rollOff: GE = 0.86, kaiserBeta: GE = 7.5, zeroCrossings: GE = 15) extends SingleOut with Product with Serializable

    Permalink

    An affine transformation UGen for image rotation, scaling, translation, shearing.

    An affine transformation UGen for image rotation, scaling, translation, shearing. It uses either a sinc-based band-limited resampling algorithm, or bicubic interpolation, depending on the zeroCrossings parameter.

    All window defining parameters (widthIn, heightIn, widthOut, heightOut) are polled once per matrix. All matrix and filter parameters are polled one per output pixel.

    in

    the signal to resample

    widthIn

    the width (number of columns) of the input matrix

    heightIn

    the height (number of rows) of the input matrix

    widthOut

    the width (number of columns) of the output matrix. the special value zero (default) means it is the same as widthIn.

    heightOut

    the height (number of rows) of the output matrix. the special value zero (default) means it is the same as heightIn.

    m00

    coefficient of the first column of the first row (scale-x)

    m10

    coefficient of the first column of the second row (shear-y)

    m01

    coefficient of the second column of the first row (shear-x)

    m11

    coefficient of the second column of the second row (scale-y)

    m02

    coefficient of the third column of the first row (translate-x)

    m12

    coefficient of the third column of the second row (translate-y)

    wrap

    if non-zero, wraps coordinates around the input images boundaries. TODO: currently wrap = 0 is broken if using sinc interpolation!

    rollOff

    the FIR anti-aliasing roll-off width. Between zero and one.

    kaiserBeta

    the FIR windowing function's parameter

    zeroCrossings

    the number of zero-crossings in the truncated and windowed sinc FIR. If zero, algorithm uses bicubic interpolation instead.

    See also

    ScanImage

  3. final case class ArithmSeq(start: GE = 0, step: GE = 1, length: GE = Long.MaxValue) extends SingleOut with Product with Serializable

    Permalink

    A UGen that produces an arithmetic sequence of values.

    A UGen that produces an arithmetic sequence of values. If both start and step are of integer type (Int or Long), this produces an integer output, otherwise it produces a floating point output.

    E.g. ArithmSeq(start = 1, step = 2) will produce a series 1, 3, 5, 7, ....

    start

    the first output element

    step

    the amount added to each successive element

    length

    the number of elements to output

  4. final case class AudioFileIn(file: File, numChannels: Int) extends MultiOut with Product with Serializable

    Permalink
  5. final case class AudioFileOut(in: GE, file: File, spec: AudioFileSpec) extends SingleOut with Product with Serializable

    Permalink

    A UGen that reads in an audio file.

    A UGen that reads in an audio file. The output signal is the monotonously increasing number of frames written, which can be used to monitor progress or determine the end of the writing process. The UGen keeps running until the in signal ends.

    in

    the signal to write.

    file

    the file to write to

    spec

    the spec for the audio file, including numbers of channels and sample-rate

  6. final case class BinaryOp(op: Int, a: GE, b: GE) extends SingleOut with Product with Serializable

    Permalink

    A binary operator UGen, for example two sum or multiply two signals.

    A binary operator UGen, for example two sum or multiply two signals. The left or a input is "hot", i.e. it keeps the UGen running, while the right or b input may close early, and the last value will be remembered.

    op

    the identifier of the operator (e.g. BinaryOp.Times.id)

    a

    the left operand which determines how long the UGen computes

    b

    the right operand.

  7. final case class Biquad(in: GE, b0: GE = 0.0, b1: GE = 0.0, b2: GE = 0.0, a1: GE = 0.0, a2: GE = 0.0) extends SingleOut with Product with Serializable

    Permalink

    A second order filter section (biquad) UGen.

    A second order filter section (biquad) UGen. Filter coefficients are given directly rather than calculated for you. The formula is equivalent to:

    y(n) = b0 * x(n) + b1 * x(n-1) + b2 * x(n-2) - a1 * y(n-1) - a2 * y(n-2)

    where x is in, and y is the output. Note the naming and signum of the coefficients differs from SuperCollider's SOS.

  8. final case class Bleach(in: GE, filterLen: GE = 256, feedback: GE = 0.001, filterClip: GE = 8.0) extends SingleOut with Product with Serializable

    Permalink
  9. final case class Blobs2D(in: GE, width: GE, height: GE, thresh: GE = 0.3, pad: GE = 0) extends MultiOut with Product with Serializable

    Permalink

    A blob detection UGen.

    A blob detection UGen. It is based on the meta-balls algorithm by Julien Gachadoat (http://www.v3ga.net/processing/BlobDetection/).

    Currently, we output four channels: - 0 - numBlobs - flushes for each window one element with the number of blobs detected - 1 - bounds - quadruplets of xMin, xMax, yMin, yMax - for each blob - 2 - numVertices - the number of vertices (contour coordinates) for each blob - 3 - vertices - tuples of x and y for the vertices of each blob

    in

    the image(s) to analyse

    width

    the width of the image

    height

    the height of the image

    thresh

    the threshold for blob detection between zero and one

    pad

    size of "border" to put around input matrices. If greater than zero, a border of that size is created internally, filled with the threshold value

  10. final case class BufferDisk(in: GE) extends SingleOut with Product with Serializable

    Permalink
  11. final case class BufferMemory(in: GE, size: GE) extends GE with Product with Serializable

    Permalink

    Inserts a buffer into the stream of up to size frames.

  12. final case class ChannelProxy(elem: GE, index: Int) extends GE.Lazy with Product with Serializable

    Permalink

    Straight outta ScalaCollider.

  13. final case class Clip(in: GE, lo: GE, hi: GE) extends SingleOut with Product with Serializable

    Permalink
  14. final case class Complex1FFT(in: GE, size: GE, padding: GE = 0) extends FFTFullUGen with Product with Serializable

    Permalink
  15. final case class Complex1IFFT(in: GE, size: GE, padding: GE = 0) extends FFTFullUGen with Product with Serializable

    Permalink
  16. final case class Complex2FFT(in: GE, rows: GE, columns: GE = 0) extends FFT2FullUGen with Product with Serializable

    Permalink
  17. final case class Complex2IFFT(in: GE, rows: GE, columns: GE = 0) extends FFT2FullUGen with Product with Serializable

    Permalink
  18. final case class ComplexBinaryOp(op: Int, a: GE, b: GE) extends SingleOut with Product with Serializable

    Permalink
  19. final case class ComplexUnaryOp(op: Int, in: GE) extends SingleOut with Product with Serializable

    Permalink
  20. final case class Concat(a: GE, b: GE) extends SingleOut with Product with Serializable

    Permalink

    Concatenates two signals.

  21. final case class ConstQ(in: GE, fftSize: GE, minFreqN: GE = 0.0008, maxFreqN: GE = 0.4096, numBands: GE = 432) extends SingleOut with Product with Serializable

    Permalink

    A UGen that performs a constant Q spectral analysis, using an already FFT'ed input signal.

    A UGen that performs a constant Q spectral analysis, using an already FFT'ed input signal. For each input window, the output signal consists of numBands filter output values. These values are squared, since further processing might need to decimate them again or take the logarithm. Otherwise the caller needs to add .sqrt to get the actual filter outputs.

    The default settings specify a range of nine octaves and numBands = 432 thus being 48 bands per octave. At 44.1 kHz, the default minimum frequency would be 35.28 Hz, the maximum would be 18063.36 Hz.

    in

    the input signal which has already been windowed and FFT'ed using Real1FFT in mode 0 or 2. The windows should have been rotated prior to the FFT so that the time signal starts in the middle of the window and then wraps around.

    fftSize

    the fft size which corresponds with the window size of the input

    minFreqN

    the normalized minimum frequency (frequency in Hz, divided by the sampling rate). should be greater than zero and less than or equal to 0.5.

    maxFreqN

    the normalized maximum frequency (frequency in Hz, divided by the sampling rate). should be greater than zero and less than or equal to 0.5.

    numBands

    the number of bands or kernels to apply, spreading them evenly (logarithmically) across the range from minimum to maximum frequency.

  22. sealed trait Constant extends UGenIn with StreamIn

    Permalink

    A scalar constant used as an input to a UGen.

  23. final case class ConstantD(value: Double) extends Constant with DoubleLike with Product with Serializable

    Permalink
  24. final case class ConstantI(value: Int) extends Constant with IntLike with Product with Serializable

    Permalink
  25. final case class ConstantL(value: Long) extends Constant with LongLike with Product with Serializable

    Permalink
  26. final case class ControlBlockSize() extends SingleOut with Product with Serializable

    Permalink

    A scalar information UGen that reports the control block size.

  27. final case class DC(in: GE) extends SingleOut with Product with Serializable

    Permalink

    Creates a constant infinite signal.

  28. final case class DCT_II(in: GE, size: GE, numCoeffs: GE, zero: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen for type II discrete cosine transform.

    A UGen for type II discrete cosine transform.

    in

    input signal

    size

    input signal window size

    numCoeffs

    number of coefficients output

    zero

    if zero (default), the zero'th coefficient is _skipped_ in the output, if non-zero, the zero'th coefficient is included. In any case, the output window size is numCoeffs.

  29. final case class DEnvGen(levels: GE, lengths: GE, shapes: GE = 1, curvatures: GE = 0.0) extends SingleOut with Product with Serializable

    Permalink

    An envelope generator UGen similar to SuperCollider's DemandEnvGen.

    An envelope generator UGen similar to SuperCollider's DemandEnvGen.

    For each parameter of the envelope (levels, durations and shapes), values are polled every time a new segment starts. The UGen keeps running as long as level inputs are provided. If any of the other inputs terminate early, their last values will be used for successive segments (e.g. one can use a constant length or shape).

    Note that as a consequence of having a "hot" levels input, the target level of the last segment may not be reached, as the UGen would terminate one sample earlier. As a workaround one can duplicate the last level value with a length of 1.

    The difference to DemandEnvGen is that this UGen does not duplicate functionality in the form of levelScale, levelBias, timeScale, and it does not provide reset and gate functionality. Durations are given as lengths in sample frames.

  30. final case class DebugGen() extends SingleOut with Product with Serializable

    Permalink
  31. case class DebugIntPromise(in: GE, p: Promise[IndexedSeq[Int]]) extends ZeroOut with Product with Serializable

    Permalink

    A debugging UGen that completes a promise with the input values it sees.

    A debugging UGen that completes a promise with the input values it sees.

    in

    the signal to monitor

  32. final case class DebugOut(in: GE) extends ZeroOut with Product with Serializable

    Permalink

    A UGen that simply consumes a signal and keeps running until the in signal ends.

    A UGen that simply consumes a signal and keeps running until the in signal ends.

    in

    the signal to keep 'alive'.

  33. final case class DebugPoll(in: GE, label: String = "poll") extends ZeroOut with Product with Serializable

    Permalink

    A UGen that prints snapshots of its input to the console.

    A UGen that prints snapshots of its input to the console. Note that arguments have different order than in ScalaCollider!

    in

    the input to be pulled. If this is a constant, the UGen will close after polling it. This is to prevent a dangling DebugPoll whose trigger is infinite (such as Impulse). If you want to avoid that, you should wrap the input in a DC.

    label

    an identifying label to prepend to the printing.

  34. case class DebugSink(in: GE) extends ZeroOut with Product with Serializable

    Permalink

    A debugging UGen that installs a persistent no-op sink, allowing the in UGen to remain in the graph even if it does not have a side-effect and it is not connected to any other graph element.

    A debugging UGen that installs a persistent no-op sink, allowing the in UGen to remain in the graph even if it does not have a side-effect and it is not connected to any other graph element.

    in

    the element to keep inside the graph

  35. final case class DebugTake(in: GE) extends SingleOut with Product with Serializable

    Permalink
  36. final case class DelayN(in: GE, maxLength: GE, length: GE) extends SingleOut with Product with Serializable

    Permalink
  37. final case class DetectLocalMax(in: GE, size: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that outputs triggers for local maxima within a sliding window.

    A UGen that outputs triggers for local maxima within a sliding window. If multiple local maxima occur within the current window, only the one with the largest value will cause the trigger.

    By definition, the first and last value in the input stream cannot qualify for local maxima.

    in

    the signal to analyze for local maxima

    size

    the sliding window size. Each two emitted triggers are spaced apart at least by size frames.

  38. final case class Done(in: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that outputs a single frame of 1 when the input is finished.

  39. final case class Drop(in: GE, length: GE) extends SingleOut with Product with Serializable

    Permalink
  40. final case class Dseq(seq: GE, repeats: GE = 1) extends SingleOut with Product with Serializable

    Permalink

    XXX TODO --- not implemented yet.

    XXX TODO --- not implemented yet. A UGen that cycles over a list of values.

    seq

    sequence of values to be returned

    repeats

    the number of repetitions of the sequence

  41. final case class Elastic(in: GE, num: GE = 1) extends SingleOut with Product with Serializable

    Permalink

    Inserts a buffer into the stream of num blocks.

  42. sealed trait FFT2FullUGen extends SingleOut

    Permalink
  43. sealed trait FFT2HalfUGen extends SingleOut

    Permalink
  44. sealed trait FFTFullUGen extends SingleOut

    Permalink
  45. sealed trait FFTHalfUGen extends SingleOut

    Permalink
  46. final case class FilterSeq(in: GE, gate: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that filters its input, retaining only those elements in the output sequence for which the predicate gate holds.

    A UGen that filters its input, retaining only those elements in the output sequence for which the predicate gate holds.

    You can think of it as Gate but instead of outputting zeroes when the gate is closed, no values are output at all. Consequently, the length of the output stream will differ from the length of the input stream.

  47. final case class Fold(in: GE, lo: GE, hi: GE) extends SingleOut with Product with Serializable

    Permalink
  48. final case class FoldCepstrum(in: GE, size: GE, crr: GE, cri: GE, clr: GE, cli: GE, ccr: GE, cci: GE, car: GE, cai: GE) extends SingleOut with Product with Serializable

    Permalink
  49. final case class Fourier(in: GE, size: GE, padding: GE = 0, dir: GE = 1.0, mem: GE = 131072) extends SingleOut with Product with Serializable

    Permalink

    Disk-buffered (large) Fourier transform.

    Disk-buffered (large) Fourier transform. Output windows will have a complex size of (size + padding).nextPowerOfTwo

    in

    input signal to transform. This must be complex (Re, Im interleaved)

    size

    the (complex) window size

    padding

    the (complex) zero-padding size for each window

    dir

    the direction is 1 for forward and -1 for backward transform. other numbers will do funny things.

    mem

    the amount of frames (chunk size) to buffer in memory. this should be a power of two.

  50. final case class Frames(in: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that generates a signal that incrementally counts the frames of its input.

    A UGen that generates a signal that incrementally counts the frames of its input. The first value output will be 1, and the last will correspond to the number of frames seen, i.e. Length(in).

  51. final case class Gate(in: GE, gate: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that passes through its input while the gate is open, and outputs zero while the gate is closed.

  52. final case class GenWindow(size: GE, shape: GE, param: GE = 0.0) extends SingleOut with Product with Serializable

    Permalink

    A repeated window generator UGen.

    A repeated window generator UGen. It repeats the same window again and again (unless parameters are modulated). The parameters are demand-rate, polled once per window.

    size

    the window size

    shape

    the identifier of the window shape, such as GenWindow.Hann.

    param

    parameter used by some window shapes, such as GenWindow.Kaiser

  53. final case class GeomSeq(start: GE = 1, grow: GE = 2, length: GE = Long.MaxValue) extends SingleOut with Product with Serializable

    Permalink

    A UGen that produces a geometric sequence of values.

    A UGen that produces a geometric sequence of values. If both start and grow are of integer type (Int or Long), this produces an integer output, otherwise it produces a floating point output.

    E.g. GeomSeq(start = 1, grow = 2) will produce a series 1, 2, 4, 8, ....

    start

    the first output element

    grow

    the multiplicative factor by which each successive element will grow

    length

    the number of elements to output

  54. final case class GimpSlur(in: GE, width: GE, height: GE, kernel: GE, kernelWidth: GE, kernelHeight: GE, repeat: GE = 1, wrap: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen similar to GIMP's Slur image filter.

    A UGen similar to GIMP's Slur image filter. Instead of a hard-coded kernel, the probability table must be provided as a separate input. The kernel width and height should be odd, so that the kernel is considered to be symmetric around each input image's pixel. If they are odd, the centre corresponds to integer divisions kernelWidth/2 and kernelHeight/2.

    in

    image input

    width

    image width

    height

    image height

    kernel

    normalized and integrated probability table. Like the image, the cells are read horizontally first, every widthKernel cell begins a new cell. The cell probabilities must have been integrated from first to last, and must be normalized so that the last cell value equals one. A new kernel signal is read once per input image. (If the signal ends, the previous kernel will be used again).

    kernelWidth

    width of the kernel signal. Read once per input image.

    kernelHeight

    height of the kernel signal. Read once per input image.

    repeat

    number of recursive application of the displacement per image. Read once per input image.

    wrap

    if non-zero, wraps pixels around the image bounds, otherwise clips.

  55. final case class GramSchmidtMatrix(in: GE, rows: GE, columns: GE, normalize: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that orthogonalizes an input matrix using the stabilized Gram-Schmidt algorithm.

    A UGen that orthogonalizes an input matrix using the stabilized Gram-Schmidt algorithm. It processes the row vectors per matrix by making them orthogonal to one another, optionally also orthonormal.

    in

    the input matrices

    rows

    the number of rows of the _input_

    columns

    the number of columns of the _input_

  56. final case class HPF(in: GE, freqN: GE = 0.02) extends SingleOut with Product with Serializable

    Permalink

    A second order high-pass filter UGen.

    A second order high-pass filter UGen. It implements the same type of filter as the SuperCollider equivalent.

    in

    the signal to filter

    freqN

    the normalized cut-off frequency (frequency in Hertz divided by sampling rate)

  57. final case class ImageFileIn(file: File, numChannels: Int) extends MultiOut with Product with Serializable

    Permalink
  58. final case class ImageFileOut(in: GE, file: File, spec: Spec) extends ZeroOut with Product with Serializable

    Permalink
  59. final case class ImageFileSeqIn(template: File, numChannels: Int, indices: GE) extends MultiOut with Product with Serializable

    Permalink
  60. final case class ImageFileSeqOut(in: GE, template: File, spec: Spec, indices: GE) extends ZeroOut with Product with Serializable

    Permalink
  61. final case class Impulse(freqN: GE, phase: GE = 0.0) extends SingleOut with Product with Serializable

    Permalink

    Impulse (repeated dirac) generator.

    Impulse (repeated dirac) generator. For a single impulse that is never repeated, use zero.

    freqN

    normalized frequency (reciprocal of frame period)

    phase

    phase offset in cycles (0 to 1).

  62. final case class LFSaw(freqN: GE, phase: GE = 0.0) extends SingleOut with Product with Serializable

    Permalink

    Aliased sawtooth oscillator.

    Aliased sawtooth oscillator. Note that the frequency is not in Hertz but the normalized frequency as we do not maintained one global sample rate. For a frequency in Hertz, freqN would be that frequency divided by the assumed sample rate.

    Note: Unlike SuperCollider where LFSaw starts at zero for a zero phase, this oscillator begins at -1. To let it start at zero, use a phase of 0.5

    freqN

    normalized frequency (f/sr).

    phase

    phase offset from 0 to 1. Note: negative values are currently broken.

  63. final case class LPF(in: GE, freqN: GE = 0.02) extends SingleOut with Product with Serializable

    Permalink

    A second order low-pass filter UGen.

    A second order low-pass filter UGen. It implements the same type of filter as the SuperCollider equivalent.

    in

    the signal to filter

    freqN

    the normalized cut-off frequency (frequency in Hertz divided by sampling rate)

  64. final case class Latch(in: GE, gate: GE) extends SingleOut with Product with Serializable

    Permalink

    A sample-and-hold UGen.

    A sample-and-hold UGen. It passes through its input while the gate is open, and outputs the last held value while the gate is closed.

  65. final case class Length(in: GE) extends SingleOut with Product with Serializable

    Permalink

    Reports the length of the input as a single value one the input has terminated.

  66. final case class Line(start: GE, end: GE, length: GE) extends SingleOut with Product with Serializable

    Permalink

    A line segment generating UGen.

    A line segment generating UGen. The UGen terminates when the segment has reached the end.

    A line can be used to count integers (in the lower ranges, where floating point noise is not yet relevant), e.g. Line(a, b, b - a + 1) counts from a to b (inclusive).

    start

    starting value

    end

    ending value

    length

    length of the segment in sample frames

  67. final case class Loudness(in: GE, sampleRate: GE, size: GE, spl: GE = 70, diffuse: GE = 1) extends SingleOut with Product with Serializable

    Permalink

    A loudness measurement UGen, using Zwicker bands.

    A loudness measurement UGen, using Zwicker bands. One value in Phon per window is output.

    in

    the signal to analyse

    sampleRate

    sample rate of the input signal

    size

    the window size for which to calculate values

    spl

    the reference of 0 dBFS in decibels

    diffuse

    whether to assume diffuse field (1) or free field (0)

  68. final case class MatrixInMatrix(in: GE, rowsOuter: GE, columnsOuter: GE, rowsInner: GE, columnsInner: GE, rowStep: GE = 1, columnStep: GE = 1, mode: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    Note: mode is not yet implemented.

  69. final case class MatrixOutMatrix(in: GE, rowsInner: GE, columnsInner: GE, columnsOuter: GE, rowOff: GE = 0, columnOff: GE = 0, rowNum: GE = 1, columnNum: GE = 1) extends SingleOut with Product with Serializable

    Permalink

    A UGen that stitches together sequences of sub-matrices to a larger matrix.

    A UGen that stitches together sequences of sub-matrices to a larger matrix. The matrix dimensions and offsets are updated per "matrix chunk" which is are columnsOuter/columnNum input matrices of size rowsInner * columnsInner. In other words, the UGen has no intrinsic knowledge of the height of the output matrix.

    For example, if the input matrices are of size (5, 6) (rows, columns), and we want to assemble the cells (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), that is copped matrices of size (2, 3) beginning at the second row and second column, and we want the outer matrix to have 9 columns, so that each three input matrices appear horizontally next to each other, the settings would be rowsInner = 5, columnsInner = 6, columnsOuter = 9, rowOff = 1, columnOff = 1, rowNum = 2, columnNum = 3.

    For more complex behaviour, such as skipping particular rows or columns, ScanImage can be used.

    in

    the sequence of smaller matrices

    rowsInner

    height of the input matrices

    columnsInner

    width of input matrices

    columnsOuter

    width of the output matrix. Must be an integer multiple of columnNum.

    rowOff

    offset in rows within the input matrices, where copying to the output matrix begins

    columnOff

    offset in columns within the input matrices, where copying to the output matrix begins

    rowNum

    number of rows to copy from each input matrix

    columnNum

    number of columns to copy from each input matrix.

  70. final case class MelFilter(in: GE, size: GE, minFreq: GE = 55.0, maxFreq: GE = 18000.0, sampleRate: GE = 44100.0, bands: GE = 42) extends SingleOut with Product with Serializable

    Permalink

    A UGen that maps short-time Fourier transformed spectra to the mel scale.

    A UGen that maps short-time Fourier transformed spectra to the mel scale. To obtain the MFCC, one has to take the log of the output of this UGen and decimate it with a DCT.

    Example:

    def mfcc(in: GE) = {
      val fsz  = 1024
      val lap  = Sliding(in, fsz, fsz/2) * GenWindow(fsz, GenWindow.Hann)
      val fft  = Real1FFT(lap, fsz, mode = 1)
      val mag  = fft.complex.mag.max(-80)
      val mel  = MelFilter(mag, fsz/2, bands = 42)
      DCT_II(mel.log, 42, 13, zero = 0)
    }
    in

    magnitudes of spectra, as output by Real1FFT(..., mode = 1).complex.abs

    size

    bands in input spectrum (assumed to be fft-size / 2). lowest band corresponds to DC and highest to (size - 1)/size * sampleRate/2.

    minFreq

    lower frequency to sample. Will be clipped between zero (inclusive) and Nyquist (exclusive).

    maxFreq

    upper frequency to sample. Will be clipped between minFreq (inclusive) and Nyquist (exclusive).

    bands

    number of filter bands output

  71. final case class Metro(period: GE, phase: GE = 0L) extends SingleOut with Product with Serializable

    Permalink

    Metronome (repeated dirac) generator.

    Metronome (repeated dirac) generator. For a single impulse that is never repeated, use a period of zero. Unlike Impulse which uses a frequency and generates fractional phases prone to floating point noise, this is UGen is useful for exact sample frame spacing. Unlike Impulse, the phase cannot be modulated.

    period

    number of frames between impulses. Zero is short-hand for Long.MaxValue

    phase

    phase offset in frames. Initialization time only!

  72. final case class OffsetOverlapAdd(in: GE, size: GE, step: GE, offset: GE, minOffset: GE) extends SingleOut with Product with Serializable

    Permalink

    Overlapping window summation with offset (fuzziness) that can be modulated.

  73. final case class OnePole(in: GE, coef: GE) extends SingleOut with Product with Serializable

    Permalink

    A one pole (IIR) filter UGen.

    A one pole (IIR) filter UGen. Implements the formula :

    out(i) = ((1 - abs(coef)) * in(i)) + (coef * out(i-1))
    in

    input signal to be processed

    coef

    feedback coefficient. Should be between -1 and +1

  74. final case class OnePoleWindow(in: GE, size: GE, coef: GE) extends SingleOut with Product with Serializable

    Permalink

    A one pole (IIR) filter UGen applied to windowed data.

    A one pole (IIR) filter UGen applied to windowed data. Implements the formula :

    out(i) = ((1 - abs(coef)) * in(i)) + (coef * out(i-1))

    This filter runs in parallel for all frames of the window (or matrix). That is, in the above formula out is replaced by each window element, and i is the window count.

    in

    input signal to be processed

    size

    window size

    coef

    feedback coefficient. Should be between -1 and +1

  75. final case class OverlapAdd(in: GE, size: GE, step: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that performs overlap-and-add operation on a stream of input windows.

    A UGen that performs overlap-and-add operation on a stream of input windows. The size and step parameters are demand-rate, polled once per (input) window.

    in

    the non-overlapped input

    size

    the window size in the input

    step

    the step between successive windows in the output. when smaller than size, the overlapping portions are summed together.

    See also

    Sliding

  76. final case class PeakCentroid1D(in: GE, size: GE, thresh1: GE = 0.5, thresh2: GE = 0.33, radius: GE = 1) extends GE.Lazy with Product with Serializable

    Permalink
  77. final case class PeakCentroid2D(in: GE, width: GE, height: GE, thresh1: GE = 0.5, thresh2: GE = 0.33, radius: GE = 1) extends MultiOut with Product with Serializable

    Permalink
  78. final case class Pearson(x: GE, y: GE, size: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that calculates the Pearson product-moment correlation coefficient of two input matrices.

    A UGen that calculates the Pearson product-moment correlation coefficient of two input matrices.

    x

    first matrix

    y

    second matrix

    size

    matrix or window size

  79. final case class Plot1D(in: GE, size: GE, label: String = "plot") extends ZeroOut with Product with Serializable

    Permalink

    Debugging utility that plots 1D "windows" of the input data.

  80. final case class Poll(in: GE, trig: GE, label: String = "poll") extends ZeroOut with Product with Serializable

    Permalink

    A UGen that prints snapshots of its input to the console.

    A UGen that prints snapshots of its input to the console. Note that arguments have different order than in ScalaCollider!

    in

    the input to be pulled. If this is a constant, the UGen will close after polling it. This is to prevent a dangling Poll whose trigger is infinite (such as Impulse). If you want to avoid that, you should wrap the input in a DC.

    trig

    trigger that causes the UGen to print a snapshot of the input.

    label

    an identifying label to prepend to the printing.

  81. final case class PriorityQueue(keys: GE, values: GE, size: GE) extends SingleOut with Product with Serializable

    Permalink

    A sorting UGen that can be thought of as a bounded priority queue.

    A sorting UGen that can be thought of as a bounded priority queue. It keeps all data in memory but limits the size to the top size items. By its nature, the UGen only starts outputting values once the input signal (keys) has finished.

    keys

    the sorting keys; higher values mean higher priority

    values

    the values corresponding with the keys and eventually output by the UGen. It is well possible to use the same signal both for keys and values.

    size

    the maximum size of the priority queue.

  82. final case class Progress(in: GE, trig: GE, label: String = "render") extends ZeroOut with Product with Serializable

    Permalink

    A UGen that contributes to the progress monitoring of a graph.

    A UGen that contributes to the progress monitoring of a graph. It is possible to instantiate multiple instances of this UGen, in which cases their individual progress reports will simply be added up (and clipped to the range from zero to one).

    in

    progress fraction from zero to one

    trig

    trigger that causes the UGen to submit a snapshot of the progress to the control instance.

    label

    the label can be used to distinguish the contributions of different progress UGens

  83. final case class Real1FFT(in: GE, size: GE, padding: GE = 0, mode: GE = 0) extends FFTHalfUGen with Product with Serializable

    Permalink

    Forward short-time Fourier transform UGen for a real-valued input signal.

    Forward short-time Fourier transform UGen for a real-valued input signal. The FFT size is equal to size + padding. The output is a succession of complex half-spectra, i.e. from DC to Nyquist. Depending on mode, the output window size is either size + padding or size + padding + 2.

    in

    the real signal to transform. If overlapping windows are desired, a Sliding should already have been applied to this signal, as well as multiplication with a window function.

    size

    the input window size

    padding

    amount of zero padding for each input window.

    mode

    packing mode. 0 (default) is standard "packed" mode, whereby the real part of the bin at Nyquist is stored in the imaginary slot of the DC. This mode allows perfect reconstruction with a Real1IFFT using the same mode. 1 is "unpacked" mode, whereby the output windows are made two samples longer, so that the Nyquist bin is included in the very end. By definition, the imaginary parts of DC and Nyquist are zero. This mode allows perfect reconstruction with a Real1IFFT using the same mode. 2 is "discarded" mode, whereby the Nyquist bin is omitted. While it doesn't allow a perfect reconstruction, this mode is useful for analysis, because the output window size is equal to the fft-size, and the imaginary part of DC is correctly zero'ed.

  84. final case class Real1FullFFT(in: GE, size: GE, padding: GE = 0) extends FFTFullUGen with Product with Serializable

    Permalink
  85. final case class Real1FullIFFT(in: GE, size: GE, padding: GE = 0) extends FFTFullUGen with Product with Serializable

    Permalink
  86. final case class Real1IFFT(in: GE, size: GE, padding: GE = 0, mode: GE = 0) extends FFTHalfUGen with Product with Serializable

    Permalink
  87. final case class Real2FFT(in: GE, rows: GE, columns: GE = 0, mode: GE = 0) extends FFT2HalfUGen with Product with Serializable

    Permalink

    Forward short-time Fourier transform UGen for a real-valued input signal.

    Forward short-time Fourier transform UGen for a real-valued input signal. The FFT size is equal to rows * columns. The output is a succession of complex half-spectra, i.e. from DC to Nyquist.

    XXX TODO: Depending on mode, the output window size is either size + padding or size + padding + 2.

    in

    the real signal to transform. If overlapping windows are desired, a Sliding should already have been applied to this signal, as well as multiplication with a window function.

    rows

    the input matrix number of rows

    columns

    the input matrix number of columns

    mode

    packing mode. 0 (default) is standard "packed" mode, whereby the real part of the bin at Nyquist is stored in the imaginary slot of the DC. This mode allows perfect reconstruction with a Real2IFFT using the same mode. 1 is "unpacked" mode, whereby the output windows are made two samples longer, so that the Nyquist bin is included in the very end. By definition, the imaginary parts of DC and Nyquist are zero. This mode allows perfect reconstruction with a Real2IFFT using the same mode. 2 is "discarded" mode, whereby the Nyquist bin is omitted. While it doesn't allow a perfect reconstruction, this mode is useful for analysis, because the output window size is equal to the fft-size, and the imaginary part of DC is correctly zero'ed.

  88. final case class Real2FullFFT(in: GE, rows: GE, columns: GE = 0) extends FFT2FullUGen with Product with Serializable

    Permalink
  89. final case class Real2FullIFFT(in: GE, rows: GE, columns: GE = 0) extends FFT2FullUGen with Product with Serializable

    Permalink
  90. final case class Real2IFFT(in: GE, rows: GE, columns: GE = 0, mode: GE = 0) extends FFT2HalfUGen with Product with Serializable

    Permalink
  91. final case class RepeatWindow(in: GE, size: GE = 1, num: GE = 2) extends SingleOut with Product with Serializable

    Permalink
  92. final case class Resample(in: GE, factor: GE, minFactor: GE = 0, rollOff: GE = 0.86, kaiserBeta: GE = 7.5, zeroCrossings: GE = 15) extends SingleOut with Product with Serializable

    Permalink

    A band-limited resampling UGen.

    A band-limited resampling UGen.

    It uses an internal table for the anti-aliasing filter. Table resolution is currently fixed at 4096 filter samples per zero crossing and linear interpolation in the FIR table, but the total filter length can be specified through the zeroCrossings parameter. Note: If filter parameters are changed, the table must be recalculated which is very expensive. However, factor modulation is efficient.

    Note: Unlike most other UGens, all parameters but in are read at "output rate". That is particular important for factor modulation. For each frame output, one frame from factor is consumed.

    in

    the signal to resample

    factor

    the resampling factor, where values greater than one mean the signal is stretched (sampling-rate increases or pitch lowers) and values less than one mean the signal is condensed (sampling-rate decreases or pitch rises)

    minFactor

    the minimum expected resampling factor, which controls the amount of buffering needed for the input signal. This is used at initialization time only. The default value of zero makes the UGen settles on the first factor value encountered. It is possible to use a value actually higher than the lowest provided factor, in order to limit the buffer usage. In that case, the FIR anti-aliasing filter will be truncated.

    rollOff

    the FIR anti-aliasing roll-off width

    kaiserBeta

    the FIR windowing function's parameter

    zeroCrossings

    the number of zero-crossings in the truncated and windowed sinc FIR.

  93. final case class ResampleWindow(in: GE, size: GE, factor: GE, minFactor: GE = 0, rollOff: GE = 0.86, kaiserBeta: GE = 7.5, zeroCrossings: GE = 15) extends SingleOut with Product with Serializable

    Permalink

    A band-limited resampling UGen for images/matrices.

    A band-limited resampling UGen for images/matrices. This works like Resample but processes each window cell across time. Thus is is not _resampling each window by itself_, but each "pixel" or matrix cell in a window across successive windows.

    in

    the signal to resample

    size

    the window size. Currently this is only read once upon initialization.

    factor

    the resampling factor, where values greater than one mean the signal is stretched (sampling-rate increases or pitch lowers) and values less than one mean the signal is condensed (sampling-rate decreases or pitch rises)

    minFactor

    the minimum expected resampling factor, which controls the amount of buffering needed for the input signal. This is used at initialization time only. The default value of zero makes the UGen settles on the first factor value encountered. It is possible to use a value actually higher than the lowest provided factor, in order to limit the buffer usage. In that case, the FIR anti-aliasing filter will be truncated.

    rollOff

    the FIR anti-aliasing roll-off width

    kaiserBeta

    the FIR windowing function's parameter

    zeroCrossings

    the number of zero-crossings in the truncated and windowed sinc FIR.

  94. final case class ResizeWindow(in: GE, size: GE, start: GE = 0, stop: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that resizes the windowed input signal by trimming each windows boundaries (if start is greater than zero or stop is less than zero) or padding the boundaries with zeroes (if start is less than zero or stop is greater than zero).

    A UGen that resizes the windowed input signal by trimming each windows boundaries (if start is greater than zero or stop is less than zero) or padding the boundaries with zeroes (if start is less than zero or stop is greater than zero). The output window size is thus size - start + stop.

    in

    the signal to window and resize

    size

    the input window size

    start

    the delta window size at the output window's beginning

    stop

    the delta window size at the output window's ending

  95. final case class ReverseWindow(in: GE, size: GE, clump: GE = 1) extends SingleOut with Product with Serializable

    Permalink
  96. final case class RotateFlipMatrix(in: GE, rows: GE, columns: GE, mode: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that can apply horizontal and vertical flip and 90-degree step rotations to a matrix.

    A UGen that can apply horizontal and vertical flip and 90-degree step rotations to a matrix.

    Unless mode is 90-degree rotation (4 or 5) and the matrix is not square, this needs one internal matrix buffer, otherwise two internal matrix buffers are needed.

    in

    the matrix / matrices to rotate

    rows

    the number of rows in the input

    columns

    the number of columns in the input

    mode

    0: pass, 1: flip horizontally, 2: flip vertically, 3: rotate 180 degrees, 4: rotate clockwise, 8: rotate anti-clockwise. See the companion object for constants. If you combine flipping and rotation, flipping is performed first, so a mode of 5 means flip horizontally, followed by rotate clockwise.

  97. final case class RotateWindow(in: GE, size: GE, amount: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that rotates the contents of a window, wrapping around its boundaries.

    A UGen that rotates the contents of a window, wrapping around its boundaries. For example, it can be used to align the phases prior to FFT so that the sample that was formerly in the centre of the window moves to the beginning of the window.

    in

    the signal to window and resize

    size

    the input window size

    amount

    the rotation amount in sample frames. Positive values "move" the contents to the right, negative values "move" the contents to the left. The amount is taken modulus size.

  98. final case class RunningMax(in: GE, trig: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that tracks the maximum value seen so far, until a trigger resets it.

    A UGen that tracks the maximum value seen so far, until a trigger resets it.

    Note: This is different from SuperCollider's RunningMax UGen which outputs the maximum of a sliding window instead of waiting for a reset trigger. To track a sliding maximum, you can use PriorityQueue.

    in

    the signal to track

    trig

    a trigger occurs when transitioning from non-positive to positive. At this point (an initially) the internal state is set to negative infinity.

  99. final case class RunningMin(in: GE, trig: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that tracks the minimum value seen so far, until a trigger resets it.

    A UGen that tracks the minimum value seen so far, until a trigger resets it.

    Note: This is different from SuperCollider's RunningMin UGen which outputs the maximum of a sliding window instead of waiting for a reset trigger. To track a sliding minimum, you can use PriorityQueue.

    in

    the signal to track

    trig

    a trigger occurs when transitioning from non-positive to positive. At this point (an initially) the internal state is set to positive infinity.

  100. final case class RunningSum(in: GE, trig: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that integrates the values seen so far, until a trigger resets it.

    A UGen that integrates the values seen so far, until a trigger resets it.

    Note: This is different from SuperCollider's RunningSum UGen which outputs the sum of a sliding window instead of waiting for a reset trigger. To track a sliding sum, you can subtract a delayed version of RunningSum from a non-delayed RunningSum.

    in

    the signal to track

    trig

    a trigger occurs when transitioning from non-positive to positive. At this point (an initially) the internal state is set to zero.

  101. final case class RunningWindowMax(in: GE, size: GE, trig: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that like RunningMax calculates the maximum observed value of the running input.

    A UGen that like RunningMax calculates the maximum observed value of the running input. However, it operates on entire windows, i.e. it outputs windows that contain the maximum elements of all the past windows observed.

    in

    the windowed signal to monitor

    size

    the window size. This should normally be a constant. If modulated, the internal buffer will be re-allocated, essentially causing a reset trigger.

    trig

    a trigger signal that clears the internal state. When a trigger is observed, the _currently processed_ window is reset altogether until its end, beginning accumulation again from the successive window. Normally one will thus want to emit a trigger in sync with the _start_ of each window. Emitting multiple triggers per window does not have any effect different from emitting the first trigger in each window.

  102. final case class RunningWindowMin(in: GE, size: GE, trig: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that like RunningMin calculates the minimum observed value of the running input.

    A UGen that like RunningMin calculates the minimum observed value of the running input. However, it operates on entire windows, i.e. it outputs windows that contain the minimum elements of all the past windows observed.

    in

    the windowed signal to monitor

    size

    the window size. This should normally be a constant. If modulated, the internal buffer will be re-allocated, essentially causing a reset trigger.

    trig

    a trigger signal that clears the internal state. When a trigger is observed, the _currently processed_ window is reset altogether until its end, beginning accumulation again from the successive window. Normally one will thus want to emit a trigger in sync with the _start_ of each window. Emitting multiple triggers per window does not have any effect different from emitting the first trigger in each window.

  103. final case class RunningWindowSum(in: GE, size: GE, trig: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that like RunningSum calculates the sum of the running input.

    A UGen that like RunningSum calculates the sum of the running input. However, it operates on entire windows, i.e. it outputs windows that contain the sum elements of all the past windows observed.

    in

    the windowed signal to monitor

    size

    the window size. This should normally be a constant. If modulated, the internal buffer will be re-allocated, essentially causing a reset trigger.

    trig

    a trigger signal that clears the internal state. When a trigger is observed, the _currently processed_ window is reset altogether until its end, beginning accumulation again from the successive window. Normally one will thus want to emit a trigger in sync with the _start_ of each window. Emitting multiple triggers per window does not have any effect different from emitting the first trigger in each window.

  104. final case class ScanImage(in: GE, width: GE, height: GE, x: GE = 0, y: GE = 0, next: GE = 0, wrap: GE = 1, rollOff: GE = 0.86, kaiserBeta: GE = 7.5, zeroCrossings: GE = 15) extends SingleOut with Product with Serializable

    Permalink

    A UGen that scans the pixels of an image using an x and y input signal.

    A UGen that scans the pixels of an image using an x and y input signal. It uses either a sinc-based band-limited resampling algorithm, or bicubic interpolation, depending on the zeroCrossings parameter.

    All window defining parameters (width, height) are polled once per matrix. All scanning and filter parameters are polled one per output pixel.

    in

    the image to scan

    width

    the width (number of columns) of the input matrix

    height

    the height (number of rows) of the input matrix

    x

    horizontal position of the dynamic scanning signal

    y

    vertical position of the dynamic scanning signal

    next

    a trigger that causes the UGen to read in a new image from in.

    wrap

    if non-zero, wraps coordinates around the input images boundaries. TODO: currently wrap = 0 is broken if using sinc interpolation!

    rollOff

    the FIR anti-aliasing roll-off width. Between zero and one.

    kaiserBeta

    the FIR windowing function's parameter

    zeroCrossings

    the number of zero-crossings in the truncated and windowed sinc FIR. If zero, algorithm uses bicubic interpolation instead.

    See also

    Slices

    AffineTransform2D

  105. final case class SetResetFF(trig: GE, reset: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A flip-flop UGen with two inputs, one (set) triggering an output of 1, the other (reset) triggering an output of 0.

    A flip-flop UGen with two inputs, one (set) triggering an output of 1, the other (reset) triggering an output of 0. Subsequent triggers happening within the same input slot have no effect. If both inputs receive a trigger at the same time, the reset input takes precedence.

  106. final case class SinOsc(freqN: GE, phase: GE = 0.0) extends SingleOut with Product with Serializable

    Permalink

    Sine oscillator.

    Sine oscillator. Note that the frequency is not in Hertz but the normalized frequency as we do not maintained one global sample rate. For a frequency in Hertz, freqN would be that frequency divided by the assumed sample rate.

    freqN

    normalized frequency (f/sr).

    phase

    phase offset in radians

  107. final case class Slices(in: GE, spans: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that assembles slices of an input signal in random access fashion.

    A UGen that assembles slices of an input signal in random access fashion. It does so by buffering the input to disk.

    in

    the signal to re-arrange.

    spans

    successive frame start (inclusive) and stop (exclusive) frame positions determining the spans that are output by the UGen. This parameter is read on demand. First, the first two values are read, specifying the first span. Only after this span has been output, the next two values from spans are read, and so on. Values are clipped to zero (inclusive) and the length of the input signal (exclusive). If a start position is greater than a stop position, the span is output in reversed order.

    See also

    ScanImage

  108. final case class Sliding(in: GE, size: GE, step: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that produces a sliding window over its input.

    A UGen that produces a sliding window over its input.

    in

    the input to be repacked into windows

    size

    the window size

    step

    the stepping factor in the input, between windows

    See also

    OverlapAdd

  109. final case class SlidingPercentile(in: GE, len: GE = 3, frac: GE = 0.5, interp: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that reports a percentile of a sliding window across its input.

    A UGen that reports a percentile of a sliding window across its input. The UGen starts outputting values immediately, even if the median window len is not yet reached. This is because len can be modulated. If one wants to discard the initial values, use a drop.

    Note that for an even median length and no interpolation, the reported median may be either the value at index len/2 or len/2 + 1 in the sorted window.

    All arguments are polled at the same rate. Changing the frac value may cause an internal table rebuild and can thus be expensive.

    in

    the input to analyze

    len

    the length of the sliding median window

    frac

    the percentile from zero to one. The default of 0.5 produces the median.

    interp

    if zero (default), uses nearest-rank, otherwise uses linear interpolation. Note: currently not implemented, must be zero

  110. final case class SlidingWindowPercentile(in: GE, winSize: GE, medianLen: GE = 3, frac: GE = 0.5, interp: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that reports a percentile of a sliding window across every cell of a window'ed input (such as an image).

    A UGen that reports a percentile of a sliding window across every cell of a window'ed input (such as an image).

    The UGen starts outputting values immediately, even if the medianLen is not yet reached. This is because medianLen can be modulated (per input window). If one wants to discard the initial values, use a drop, for example for medianLen/2 * winSize frames.

    Note that for an even median length and no interpolation, the reported median may be either the value at index medianLen/2 or medianLen/2 + 1 in the sorted window.

    All arguments but in are polled per input window. Changing the frac value may cause an internal table rebuild and can thus be expensive.

    in

    the window'ed input to analyze

    winSize

    the size of the input windows

    medianLen

    the length of the sliding median window (the filter window applied to every cell of the input window)

    frac

    the percentile from zero to one. The default of 0.5 produces the median.

    interp

    if zero (default), uses nearest-rank, otherwise uses linear interpolation. Note: currently not implemented, must be zero

  111. final case class SortWindow(keys: GE, values: GE, size: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that sorts the input data window by window.

    A UGen that sorts the input data window by window.

    keys

    the sorting keys; output will be in ascending order

    values

    the values corresponding with the keys and eventually output by the UGen. It is well possible to use the same signal both for keys and values.

    size

    the window size.

  112. final case class Take(in: GE, length: GE) extends SingleOut with Product with Serializable

    Permalink
  113. final case class TakeRight(in: GE, length: GE) extends SingleOut with Product with Serializable

    Permalink
  114. final case class Timer(trig: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that outputs the number of sample frames passed since last triggered.

    A UGen that outputs the number of sample frames passed since last triggered. If no trigger is used, it simply outputs a linearly rising ramp.

    trig

    trigger signal to reset the counter. Note that the UGen shuts down when trig finishes, so to use a constant like 0, it has to be wrapped in a DC, for example.

  115. final case class TransposeMatrix(in: GE, rows: GE, columns: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that transposes 2-dimensional matrices.

    A UGen that transposes 2-dimensional matrices. This is a 2-dimensional windowed process, where each window has length rows * columns. Input is assumed to be "left-to-right, top-to-bottom", so the first samples constitute the first row, the next samples constitute the second row, etc.

    Note: This is an in-place process which uses less memory but possibly more time. A faster variant would be to use RotateMirrorMatrix

    The output matrix is transposed (rows and columns exchanged). So an input of (a, b, c, d, e, f) with rows = 2 and columns = 3 is interpreted as ((a, b, c), (d, e, f)), transposed as ((a, d), (b, e), (c, f)) and output flat as (a, d, b, e, c, f).

    To rotate an image ninety degrees clockwise, you would have rows = height and columns = width.

    in

    the input matrices

    rows

    the number of rows of the _input_

    columns

    the number of columns of the _input_

  116. sealed trait UGenInGroup extends UGenInLike

    Permalink
  117. final case class UGenOutProxy(ugen: MultiOut, outputIndex: Int) extends UGenProxy with Product with Serializable

    Permalink

    A UGenOutProxy refers to a particular output of a multi-channel UGen.

    A UGenOutProxy refers to a particular output of a multi-channel UGen. A sequence of these form the representation of a multi-channel-expanded UGen.

  118. sealed trait UGenProxy extends UGenIn

    Permalink
  119. final case class UnaryOp(op: Int, in: GE) extends SingleOut with Product with Serializable

    Permalink
  120. final case class UnzipWindow(in: GE, size: GE = 1) extends GE.Lazy with Product with Serializable

    Permalink
  121. final case class UnzipWindowN(numOutputs: Int, in: GE, size: GE = 1) extends MultiOut with Product with Serializable

    Permalink
  122. final case class ValueDoubleSeq(elems: Double*) extends SingleOut with Product with Serializable

    Permalink

    Loops the given values.

  123. final case class ValueIntSeq(elems: Int*) extends SingleOut with Product with Serializable

    Permalink

    Loops the given values.

  124. final case class ValueLongSeq(elems: Long*) extends SingleOut with Product with Serializable

    Permalink

    Loops the given values.

  125. final case class WhiteNoise(mul: GE = 1.0) extends SingleOut with Product with Serializable

    Permalink
  126. final case class WindowApply(in: GE, size: GE, index: GE = 0, wrap: GE = 0) extends SingleOut with Product with Serializable

    Permalink

    A UGen that determines for each input window the first index where a predicate holds.

    A UGen that determines for each input window the first index where a predicate holds. It outputs one integer value per window; if the predicate does not hold across the entire window, the index will be -1.

    in

    the window'ed signal to index

    size

    the window size.

    index

    the zero-based index into each window. One value per window is polled.

    wrap

    if non-zero, wraps indices around the window boundaries, otherwise clips.

  127. final case class WindowIndexWhere(p: GE, size: GE) extends SingleOut with Product with Serializable

    Permalink

    A UGen that determines for each input window the first index where a predicate holds.

    A UGen that determines for each input window the first index where a predicate holds. It outputs one integer value per window; if the predicate does not hold across the entire window, the index will be -1.

    p

    a predicate to detect the index

    size

    the window size.

  128. final case class Wrap(in: GE, lo: GE, hi: GE) extends SingleOut with Product with Serializable

    Permalink
  129. final case class ZipWindow(a: GE, b: GE, size: GE = 1) extends SingleOut with Product with Serializable

    Permalink
  130. final case class ZipWindowN(in: GE, size: GE = 1) extends SingleOut with Product with Serializable

    Permalink

Value Members

  1. object AffineTransform2D extends Serializable

    Permalink
  2. object BinaryOp extends Serializable

    Permalink
  3. object ComplexBinaryOp extends Serializable

    Permalink

    Binary operator assuming operands are complex signals (real and imaginary interleaved).

    Binary operator assuming operands are complex signals (real and imaginary interleaved). Outputs another complex stream even if the operator yields a purely real-valued result.

    XXX TODO - need more ops such as conjugate, polar-to-cartesian, ...

  4. object ComplexUnaryOp extends Serializable

    Permalink

    Unary operator assuming stream is complex signal (real and imaginary interleaved).

    Unary operator assuming stream is complex signal (real and imaginary interleaved). Outputs another complex stream even if the operator yields a purely real-valued result (ex. abs).

    XXX TODO - need more ops such as conjugate, polar-to-cartesian, ...

  5. object Constant

    Permalink
  6. object ConstantD extends Serializable

    Permalink
  7. object ConstantI extends Serializable

    Permalink
  8. object ConstantL extends Serializable

    Permalink
  9. object GenWindow extends Serializable

    Permalink
  10. object ImageFile

    Permalink
  11. object RotateFlipMatrix extends Serializable

    Permalink
  12. object UGenInGroup

    Permalink
  13. object UnaryOp extends Serializable

    Permalink
  14. object ValueSeq

    Permalink

    Loops the given values.

  15. package impl

    Permalink

Ungrouped