synthesizer-0.0.3: src/Synthesizer/SampleRateContext/Play.hs
module Synthesizer.SampleRateContext.Play where
import qualified BinarySample as BinSmp
import qualified Synthesizer.SampleRateContext.Signal as SigC
import qualified Synthesizer.SampleRateContext.Rate as Rate
import qualified Synthesizer.Physical.Signal as SigP
import qualified Synthesizer.Physical.Play as PlayP
import qualified Algebra.OccasionallyScalar as OccScalar
import qualified Algebra.VectorSpace as VectorSpace
import qualified Algebra.RealField as RealField
import qualified Algebra.Field as Field
auto :: (RealField.C t, BinSmp.C yv,
Field.C t', OccScalar.C t t',
Field.C y', OccScalar.C y y',
VectorSpace.C y yv) =>
t' -> y' -> t' -> (Rate.T t t' -> SigC.T y y' yv) -> IO ()
auto freqUnit amp sampleRate proc =
PlayP.auto freqUnit amp (SigP.runPlain sampleRate proc)