Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ugen analysis
Synopsis
- ugen_primitive_set :: Ugen -> [Primitive Ugen]
- primitive_is_pv_rate :: String -> Bool
- ugen_is_pv_rate :: Ugen -> Bool
- pv_track_buffer :: Ugen -> Either String Ugen
- buffer_nframes :: Ugen -> Ugen
- pv_track_nframes :: Ugen -> Either String Ugen
- ugen_remove_out_node :: Ugen -> (String, Ugen)
Documentation
ugen_primitive_set :: Ugen -> [Primitive Ugen] 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