X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=EsounD.git;a=blobdiff_plain;f=Sound%2FEsounD%2FMonitor.hs;h=20eb2ee0c1d98808d83bad397a612e547d7b4b37;hp=0fadfd775bc3606dea15f08f3e24af6354a8facf;hb=fe6d90865e38cb96fa33610c1b38d0e8fc86d1e9;hpb=a2e2bda599616a8e7ef0b429aaf047921f0d5950 diff --git a/Sound/EsounD/Monitor.hs b/Sound/EsounD/Monitor.hs index 0fadfd7..20eb2ee 100644 --- a/Sound/EsounD/Monitor.hs +++ b/Sound/EsounD/Monitor.hs @@ -13,9 +13,9 @@ module Sound.EsounD.Monitor ) where import Bindings.EsounD -import Control.Exception.Peel +import Control.Exception.Control import Control.Monad.IO.Class -import Control.Monad.IO.Peel +import Control.Monad.IO.Control import Control.Monad.Trans.Region import Control.Monad.Trans.Region.OnExit import Control.Monad.Unicode @@ -63,7 +63,7 @@ instance Frame fr ⇒ ReadableStream (Monitor fr Stereo) (L.Vector fr, L.Vector openMonitor ∷ ∀fr ch s pr. ( Frame fr , Channels ch - , MonadPeelIO pr + , MonadControlIO pr ) ⇒ Int -- ^ sample rate for the stream. → Maybe HostName -- ^ host to connect to. @@ -71,7 +71,7 @@ openMonitor ∷ ∀fr ch s pr. -- to ESD (if any). → RegionT s pr (Monitor fr ch (RegionT s pr)) openMonitor rate host name - = block $ + = mask_ $ do h ← liftIO openSocket ch ← onExit $ sanitizeIOError $ closeSocket h return Monitor { @@ -83,7 +83,7 @@ openMonitor rate host name fmt ∷ C'esd_format_t fmt = frameFmt ((⊥) ∷ fr) .|. channelFmt ((⊥) ∷ ch) .|. - c'ESD_STREAM .|. + c'ESD_STREAM .|. c'ESD_MONITOR openSocket ∷ IO Handle