-import Control.Monad.CatchIO
-import Control.Monad.Trans.Region
-import Network
-import System.IO.SaferFileHandles
-
-{-
-data Mono
-data Stereo
-
-data Recorder frame channels
-data Filter frame channels
-data Sampler
--}
-
--- ^ An ESD handle for playing a stream.
-data Player frame channels (r ∷ * → *)
- = Player {
- plRate ∷ Int
- , plHandle ∷ RegionalFileHandle WriteMode r
- }
-
-instance Dup (Player frame channels) where
- dup pl
- = do h' ← dup (plHandle pl)
- return pl { plHandle = h' }
-
--- ^ Open an ESD handle for playing a stream.
-openPlayer ∷ MonadCatchIO pr
- ⇒ Int -- ^ sample rate for the stream.
- → HostName -- ^ host to connect to.
- → Maybe String -- ^ name used to identify this stream to
- -- ESD (if any).
- → RegionT s pr (Player frame channels (RegionT s pr))
-openPlayer rate host name
- = return Player {
- plRate = rate
- , plHandle = error "FIXME: not implemented"
- }
+import Sound.EsounD.Filter
+import Sound.EsounD.Monitor
+import Sound.EsounD.Player
+import Sound.EsounD.Recorder
+import Sound.EsounD.Streams
+import Sound.EsounD.Types