Safe Haskell | None |
---|
SC2
OverlapTexture
related functions.
Generate sequences of overlapping instances of a UGen
graph or
family of graphs. The OverlapTexture
functions add an Envelope
and calculate inter-onset times and durations. There are variants
for different graph constructors, and to allow for a
post-processing stage.
- mk_env :: UGen -> UGen -> UGen
- with_env_u :: UGen -> UGen -> UGen -> UGen
- with_env :: (Double, Double) -> UGen -> UGen
- type OverlapTexture = (Double, Double, Double, Int)
- data OverlapTexture_ = OverlapTexture {}
- overlapTexture_env :: OverlapTexture -> (Double, Double)
- type Texture_DT = (Double, Double)
- overlapTexture_dt :: OverlapTexture -> Texture_DT
- type XFadeTexture = (Double, Double, Int)
- xfadeTexture_env :: XFadeTexture -> (Double, Double)
- xfadeTexture_dt :: XFadeTexture -> Texture_DT
- gen_synth :: (Double, Double) -> UGen -> Synthdef
- overlapTextureP :: OverlapTexture -> UGen -> P Event
- overlapTextureU :: OverlapTexture -> UGen -> IO ()
- post_process_s :: Int -> (UGen -> UGen) -> Synthdef
- post_process_a :: Transport m => P Event -> Int -> (UGen -> UGen) -> m ()
- type PPF = UGen -> UGen
- overlapTextureU_pp :: OverlapTexture -> UGen -> Int -> PPF -> IO ()
- xfadeTextureP :: XFadeTexture -> UGen -> P Event
- xfadeTextureU :: XFadeTexture -> UGen -> IO ()
- xfadeTextureU_pp :: XFadeTexture -> UGen -> Int -> PPF -> IO ()
- type USTF st = st -> (UGen, st)
- overlapTextureP_st :: OverlapTexture -> USTF st -> st -> P Event
- overlapTextureS :: OverlapTexture -> USTF st -> st -> IO ()
- overlapTextureS_pp :: OverlapTexture -> USTF st -> st -> Int -> PPF -> IO ()
- type MSTF st m = st -> m (Maybe st)
- dt_rescheduler_m :: MonadIO m => MSTF (st, Time) m -> (st, Time) -> m ()
- overlapTextureR :: Transport m => OverlapTexture -> IO UGen -> MSTF (Int, Time) m
- overlapTextureM :: OverlapTexture -> IO UGen -> IO ()
Documentation
with_env_u :: UGen -> UGen -> UGen -> UGenSource
Apply mk_env
envelope to input signal and write to output bus 0
.
with_env :: (Double, Double) -> UGen -> UGenSource
Variant of with_env_u
where envelope parameters are lifted from
Double
to UGen
.
type OverlapTexture = (Double, Double, Double, Int)Source
Control parameters for overlapTextureU
and related functions.
Components are: 1. sustain time, 2. transition time, 3. number of
overlaping (simultaneous) nodes and 4. number of nodes altogether.
data OverlapTexture_ Source
Record of OverlapTexture
.
overlapTexture_env :: OverlapTexture -> (Double, Double)Source
Extract envelope parameters (sustain and transition times) for
with_env
from OverlapTexture
.
type Texture_DT = (Double, Double)Source
(legato,duration) parameters. The duration is the inter-offset time, legato is the scalar giving the sounding time in relation to the inter-offset time.
overlapTexture_dt :: OverlapTexture -> Texture_DTSource
Extract legato (duration of sound proportional to inter-offset
time) and duration (inter-offset time) parameters from
OverlapTexture
.
overlapTexture_dt (3,1,5,maxBound) == (5,1)
type XFadeTexture = (Double, Double, Int)Source
Control parameters for xfadeTextureU
and related functions.
Components are: 1. sustain time, 2. transition time, 3. number of
nodes instatiated altogether.
xfadeTexture_env :: XFadeTexture -> (Double, Double)Source
Extract envelope parameters for with_env
from XFadeTexture
.
xfadeTexture_dt :: XFadeTexture -> Texture_DTSource
Extract legato and duration paramaters from XFadeTexture
.
overlapTextureP :: OverlapTexture -> UGen -> P EventSource
Generate an event pattern from OverlapTexture
control
parameters and a continuous signal.
overlapTextureU :: OverlapTexture -> UGen -> IO ()Source
Audition pattern given by overlapTextureP
.
import Sound.SC3.ID import Sound.SC3.Lang.Control.OverlapTexture let {o = sinOsc AR (rand 'α' 440 880) 0 ;u = pan2 o (rand 'β' (-1) 1) (rand 'γ' 0.1 0.2)} in overlapTextureU (3,1,6,9) u
post_process_s :: Int -> (UGen -> UGen) -> SynthdefSource
Generate Synthdef
from a signal processing function over the
indicated number of channels.
post_process_a :: Transport m => P Event -> Int -> (UGen -> UGen) -> m ()Source
Audition event pattern with specified post-processing function.
overlapTextureU_pp :: OverlapTexture -> UGen -> Int -> PPF -> IO ()Source
Variant of overlapTextureU
with post-processing stage.
xfadeTextureP :: XFadeTexture -> UGen -> P EventSource
Generate an event pattern from XFadeTexture
control
parameters and a continuous signal.
xfadeTextureU :: XFadeTexture -> UGen -> IO ()Source
Audition pattern given by xfadeTextureP
.
let {o = sinOsc AR (rand 'α' 440 880) 0 ;u = pan2 o (rand 'β' (-1) 1) (rand 'γ' 0.1 0.2)} in xfadeTextureU (1,3,6) u
xfadeTextureU_pp :: XFadeTexture -> UGen -> Int -> PPF -> IO ()Source
Variant of xfadeTextureU
with post-processing stage.
overlapTextureP_st :: OverlapTexture -> USTF st -> st -> P EventSource
Variant of overlapTextureP
where the continuous signal for each
event is derived from a state transform function seeded with
given initial state.
overlapTextureS :: OverlapTexture -> USTF st -> st -> IO ()Source
Audition pattern given by overlapTextureP_st
.
overlapTextureS_pp :: OverlapTexture -> USTF st -> st -> Int -> PPF -> IO ()Source
Variant of overlapTextureS
with post-processing stage.
dt_rescheduler_m :: MonadIO m => MSTF (st, Time) m -> (st, Time) -> m ()Source
Run a monadic state transforming function f that operates with
a delta Time
indicating the duration to pause before re-running
the function.
overlapTextureR :: Transport m => OverlapTexture -> IO UGen -> MSTF (Int, Time) mSource
Underlying function of overlapTextureM
with explicit Transport
.
overlapTextureM :: OverlapTexture -> IO UGen -> IO ()Source
Variant of overlapTextureU
where the continuous signal is in
the IO
monad.