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

Synth.Faust.InstrumentC

Description

Low level binding to faust dsps, specialized for ones that generate audio.

Synopsis

Documentation

data PatchT ptr cptr Source #

Constructors

Patch 

Fields

Instances

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

Defined in Synth.Faust.InstrumentC

Methods

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

show :: PatchT ptr cptr -> String #

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

type Patch = PatchT PatchC.PatchP () Source #

A patch can be used to create Instruments.

type Instrument = PatchT PatchC.InstrumentP (Ptr Float) Source #

An allocated patch.

type Control = (Element, Control.Control) Source #

Patch

getPatches :: IO (Map Text (Either Text Patch)) Source #

Get all patches and their names.

imControls :: PatchT ptr cptr -> Map Control.Control ControlConfig Source #

Map supported controls to ControlConfig. This is for the Im.Patch.

Instrument

render Source #

Arguments

:: Frames 
-> Frames 
-> Instrument 
-> [(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 :: Instrument -> IO Checkpoint.State Source #

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