Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Synth.Faust.EffectC

Description

Low level binding to faust dsps, specialized for ones that process audio, rather than generating it.

Synopsis

Documentation

data EffectT ptr cptr Source #

Instances

Instances details
(Show cptr, Show ptr) => Show (EffectT ptr cptr) Source # 
Instance details

Defined in Synth.Faust.EffectC

Methods

showsPrec :: Int -> EffectT ptr cptr -> ShowS #

show :: EffectT ptr cptr -> String #

showList :: [EffectT ptr cptr] -> ShowS #

type Patch = EffectT PatchC.PatchP () Source #

A patch can be used to create Effects.

type Effect = EffectT PatchC.InstrumentP (Ptr Float) Source #

An allocated patch.

data State Source #

Instances

Instances details
Pretty State Source # 
Instance details

Defined in Synth.Faust.EffectC

Serialize.Serialize State Source # 
Instance details

Defined in Synth.Faust.EffectC

Patch

patches :: Map Text (Either Text Patch) Source #

All configured effects.

Effect

render Source #

Arguments

:: Frames 
-> Frames 
-> Effect 
-> [(Ptr Float, Audio.Block)] 
-> [V.Vector Float]

Input signals. The length must be equal to the the patchInputs, and each vector must have the same length.

-> IO [V.Vector Float]

one block of samples for each output channel

Render chunk of time and return samples.

state

unsafeGetState :: Effect -> IO State Source #

getState, but without copying, if you promise to finish with the State before you call render, which will change it.