Karya, built on 2018-05-31T02:46:59 (patch 0a1a35479c514820d77330ae8a978975ba22a47a)

Safe HaskellNone

Synth.Faust.DriverC

Contents

Description

Low level binding to driver.cc.

Synopsis

Documentation

type Patch = Ptr ConstPatchP Source #

A patch can be used to create Instruments.

type Instrument = Ptr PatchP Source #

An allocated patch.

asPatch :: Instrument -> Patch Source #

A Patch is just a const Instrument.

getPatches :: IO (Map Text Patch) Source #

Get all patches and their names.

getControls :: Patch -> [Control.Control] Source #

Get supported controls. The order is important, since it's the same order render expects to see them.

Instrument

render Source #

Arguments

:: Instrument 
-> [V.Vector Float]

the length must be equal to the the patchInputs, and each vector must have the same length

-> IO [V.Vector Float]

one chunk of samples for each output channel

Render chunk of time and return samples. The chunk size is determined by the input controls, or Audio.chunkSize if there are none.

state

newtype State Source #

Instances
Show State # 
Instance details

Defined in Synth.Faust.DriverC

Methods

showsPrec :: Int -> State -> ShowS #

show :: State -> String #

showList :: [State] -> ShowS #

unsafeGetState :: Instrument -> IO State Source #

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