X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=EsounD.git;a=blobdiff_plain;f=Sound%2FEsounD%2FFilter.hs;fp=Sound%2FEsounD%2FFilter.hs;h=60c6d1d36954034cbff94fe7d55898b7e47fb594;hp=26b6336fe417b52c1a4884d2a02c53632585e980;hb=fe6d90865e38cb96fa33610c1b38d0e8fc86d1e9;hpb=a2e2bda599616a8e7ef0b429aaf047921f0d5950 diff --git a/Sound/EsounD/Filter.hs b/Sound/EsounD/Filter.hs index 26b6336..60c6d1d 100644 --- a/Sound/EsounD/Filter.hs +++ b/Sound/EsounD/Filter.hs @@ -13,9 +13,9 @@ module Sound.EsounD.Filter ) 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 @@ -87,7 +87,7 @@ instance Frame fr ⇒ WritableStream (Filter fr Stereo) (L.Vector fr, L.Vector f openFilter ∷ ∀fr ch s pr. ( Frame fr , Channels ch - , MonadPeelIO pr + , MonadControlIO pr ) ⇒ Int -- ^ sample rate for the stream. → Maybe HostName -- ^ host to connect to. @@ -95,7 +95,7 @@ openFilter ∷ ∀fr ch s pr. -- ESD (if any). → RegionT s pr (Filter fr ch (RegionT s pr)) openFilter rate host name - = block $ + = mask_ $ do h ← liftIO openSocket ch ← onExit $ sanitizeIOError $ closeSocket h return Filter {