]> gitweb @ CieloNegro.org - EsounD.git/commitdiff
code cleanup
authorPHO <pho@cielonegro.org>
Sat, 1 Jan 2011 13:57:05 +0000 (22:57 +0900)
committerPHO <pho@cielonegro.org>
Sat, 1 Jan 2011 13:57:05 +0000 (22:57 +0900)
Sound/EsounD.hs
Sound/EsounD/Player.hs
examples/EsdPlayerExample.hs

index e9276a0d10219249ccc86f140fcc72e45e4799c5..c44e6dd9007dfe650560abedaf136779764a4a8a 100644 (file)
@@ -1,9 +1,11 @@
 -- | Type-safe bindings to EsounD with monadic regions.
 module Sound.EsounD
     ( module Sound.EsounD.Types
+    , module Sound.EsounD.Streams
     , module Sound.EsounD.Player
     )
     where
 
+import Sound.EsounD.Streams
 import Sound.EsounD.Types
 import Sound.EsounD.Player
index 7f7eb223a88ddb2c593c7dfd695b58a2076c7f9d..b48dfee9a849f15245ecfb3f702ebdd8ca32e5ec 100644 (file)
@@ -13,7 +13,9 @@ module Sound.EsounD.Player
     )
     where
 import Bindings.EsounD
+import Control.Exception.Peel
 import Control.Monad.IO.Class
+import Control.Monad.IO.Peel
 import Control.Monad.Trans.Region
 import Control.Monad.Trans.Region.OnExit
 import Control.Monad.Unicode
@@ -54,7 +56,7 @@ instance Frame fr ⇒ Writable (Player fr Stereo) (L.Vector fr, L.Vector fr) whe
 openPlayer ∷ ∀fr ch s pr.
                ( Frame fr
                , Channels ch
-               , MonadIO pr
+               , MonadPeelIO pr
                )
            ⇒ Int            -- ^ sample rate for the stream.
            → Maybe HostName -- ^ host to connect to.
@@ -62,7 +64,8 @@ openPlayer ∷ ∀fr ch s pr.
                              --   ESD (if any).
            → RegionT s pr (Player fr ch (RegionT s pr))
 openPlayer rate host name
-    = do h  ← liftIO openSocket
+    = block $
+      do h  ← liftIO openSocket
          ch ← onExit $ sanitizeIOError $ closeSocket h
          return Player {
                       plRate   = rate
index 383001dafcbcf60f9b82991a18ed711043362f53..126e1fea93c7dd1de1d0d9f7bc2e52c51b969bef 100644 (file)
@@ -7,9 +7,7 @@ import Control.Monad.Trans.Region
 import Data.Int
 import qualified Data.StorableVector.Lazy as L
 import Prelude.Unicode
-import Sound.EsounD.Player
-import Sound.EsounD.Streams
-import Sound.EsounD.Types
+import Sound.EsounD
 
 main ∷ IO ()
 main = runRegionT $