module Language.XDsp.Semantics.CsoundExt.Core (
  CsoundClass (..)
 ,CsFunctions (..)
)

where

import Language.XDsp.Semantics.Core
import Language.XDsp.Semantics.BasicExtensions

-- ---------------------------------
-- ---------------------------------
-- csound-specific language extensions.  Although these could be implemented
-- in other backends, doing so may be un-idiomatic

class (Dsp repr, StringVar repr) => CsoundClass repr where
  nchnls   :: Int -> repr Int
  set0dbfs :: Double -> repr Double

-- csound functions

class CsFunctions a where
  octcps :: a -> a
  octpch :: a -> a
  cpspch :: a -> a
  cpsoct :: a -> a
  pchcps :: a -> a
  pchoct :: a -> a