module Synthesizer.Physical.File where
import qualified Sox.File
import qualified BinarySample as BinSmp
import qualified Synthesizer.Physical.Signal as SigP
import qualified Algebra.OccasionallyScalar as OccScalar
import qualified Algebra.VectorSpace as VectorSpace
import qualified Algebra.RealField as RealField
import qualified Algebra.Field as Field
import System.Exit(ExitCode)
import PreludeBase
write :: (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' -> FilePath -> SigP.T t t' y y' yv -> IO ExitCode
write freqUnit amp name sig =
uncurry (Sox.File.write name) (SigP.pureData freqUnit amp sig)