Karya, built on 2020-11-26T21:03:17 (patch 23b5be2d53a9e8e7d6136cda5aae2849abe5cded)
Safe HaskellNone

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) # 
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 # 
Instance details

Defined in Synth.Faust.EffectC

Serialize.Serialize State # 
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.