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

Synth.Faust.RenderUtil

Contents

Description

Functions shared between instrument and effect faust patches.

Synopsis

Documentation

controls

findControls :: Ord control => Map control (ptr, config) -> Map control block -> [(ptr, block)] Source #

takeControls :: Ord control => Frames -> Map control AUtil.Audio1 -> Resource.ResourceT IO (Map control Audio.Block, Map control AUtil.Audio1) Source #

Pull a chunk from each of the controls. Omit the control if its signal has run out. This is ok because controls naturally retain their last value.

takeExtend :: Monad m => Frames -> Audio.Audio m rate 1 -> m (Maybe (Audio.Block, Audio.Audio m rate 1)) Source #

Audio.splitAt, but extend the final sample. I need this because PatchC.render relies on all control blocks being the same length, for simplicity.

roundBreakpoints :: Frames -> [(RealTime.RealTime, Y)] -> [(Double, Double)] Source #

Round controls to controlSize boundaries. See NOTE [faust-controls].