hsc3-0.17: Haskell SuperCollider

Safe HaskellSafe
LanguageHaskell98

Sound.SC3.UGen.Analysis

Description

UGen analysis

Synopsis

Documentation

ugen_primitive_set :: UGen -> [Primitive] Source #

UGen primitive set. Sees through Proxy and MRG, possible multiple primitives for MCE.

primitive_is_pv_rate :: String -> Bool Source #

Heuristic based on primitive name (FFT, PV_). Note that IFFT is at control rate, not PV rate.

ugen_is_pv_rate :: UGen -> Bool Source #

Variant on primitive_is_pv_rate.

pv_track_buffer :: UGen -> Either String UGen Source #

Traverse input graph until an FFT or PV_Split node is encountered, and then locate the buffer input. Biases left at MCE nodes.

import Sound.SC3
let z = soundIn 4
let f1 = fft 10 z 0.5 0 1 0
let f2 = ffta 'a' 1024 z 0.5 0 1 0
pv_track_buffer (pv_BrickWall f1 0.5) == Right 10
pv_track_buffer (pv_BrickWall f2 0.5) == Right (localBuf 'a' 1024 1)

buffer_nframes :: UGen -> UGen Source #

Buffer node number of frames. Biases left at MCE nodes. Sees through LocalBuf, otherwise uses bufFrames.

buffer_nframes 10 == bufFrames IR 10
buffer_nframes (control KR "b" 0) == bufFrames KR (control KR "b" 0)
buffer_nframes (localBuf 'α' 2048 1) == 2048