module Synthesizer.Inference.Monad.Play where import qualified Synthesizer.Basic.Binary as BinSmp import qualified Synthesizer.Inference.Monad.Signal as SigI import qualified Synthesizer.Physical.Play as PlayP import qualified Algebra.OccasionallyScalar as OccScalar import qualified Algebra.VectorSpace as VectorSpace import qualified Algebra.Field as Field import qualified Algebra.RealField as RealField import System.Exit(ExitCode) toInt16 :: (RealField.C a, Field.C q, Ord q, BinSmp.C v, OccScalar.C a q, VectorSpace.C a v) => q -> q -> SigI.Process a q v -> IO ExitCode toInt16 freqUnit amp proc = PlayP.toInt16 freqUnit amp (SigI.run proc)