packages feed

opensoundcontrol-ht 0.2 → 0.3

raw patch · 5 files changed

+94/−89 lines, 5 filesdep ~binarydep ~hoscdep ~processPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: binary, hosc, process

API changes (from Hackage documentation)

- Sound.OpenSoundControl.Transport.File: data T
- Sound.OpenSoundControl.Transport.File: instance Eq T
- Sound.OpenSoundControl.Transport.File: instance Show T
- Sound.OpenSoundControl.Transport.File: instance Transport T
- Sound.OpenSoundControl.Transport.File: open :: Packet -> FilePath -> IO T
- Sound.OpenSoundControl.Transport.Monad.ByteString: data T a
- Sound.OpenSoundControl.Transport.Monad.ByteString: instance DuplexOSC T
- Sound.OpenSoundControl.Transport.Monad.ByteString: instance Functor T
- Sound.OpenSoundControl.Transport.Monad.ByteString: instance Monad T
- Sound.OpenSoundControl.Transport.Monad.ByteString: instance RecvOSC T
- Sound.OpenSoundControl.Transport.Monad.ByteString: instance SendOSC T
- Sound.OpenSoundControl.Transport.Monad.ByteString: run :: Packet -> T () -> ByteString
+ Sound.OSC.Transport.File: data T
+ Sound.OSC.Transport.File: instance Eq T
+ Sound.OSC.Transport.File: instance Show T
+ Sound.OSC.Transport.File: instance Transport T
+ Sound.OSC.Transport.File: open :: Packet -> FilePath -> IO T
+ Sound.OSC.Transport.Monad.ByteString: data T a
+ Sound.OSC.Transport.Monad.ByteString: instance Applicative T
+ Sound.OSC.Transport.Monad.ByteString: instance DuplexOSC T
+ Sound.OSC.Transport.Monad.ByteString: instance Functor T
+ Sound.OSC.Transport.Monad.ByteString: instance Monad T
+ Sound.OSC.Transport.Monad.ByteString: instance RecvOSC T
+ Sound.OSC.Transport.Monad.ByteString: instance SendOSC T
+ Sound.OSC.Transport.Monad.ByteString: run :: Packet -> T () -> ByteString

Files

opensoundcontrol-ht.cabal view
@@ -1,8 +1,7 @@ Name:             opensoundcontrol-ht-Version:          0.2+Version:          0.3 License:          GPL License-File:     LICENSE-Copyright:        Henning Thielemann, 2009-2013 Author:           Henning Thielemann <supercollider@henning-thielemann.de> Maintainer:       Henning Thielemann <supercollider@henning-thielemann.de> Stability:        Experimental@@ -19,7 +18,7 @@    .    Also see the supercollider-ht package which uses this one. Category:         Sound-Tested-With:      GHC==7.4.2+Tested-With:      GHC==7.4.2, GHC==7.8.3 Cabal-Version:    >=1.6 Build-Type:       Simple Source-Repository head@@ -29,7 +28,7 @@ Source-Repository this   type:     darcs   location: http://code.haskell.org/~thielema/opensoundcontrol/-  tag:      0.2+  tag:      0.3   Flag splitBase@@ -37,15 +36,15 @@  Library   Build-Depends:-    hosc >=0.13 && <0.14,+    hosc >=0.15 && <0.16,     transformers >=0.2 && <0.5,-    binary >=0.2 && <0.6,+    binary >=0.7 && <0.8,     bytestring >=0.9 && <0.11,     utility-ht >=0.0.1 && <0.1   If flag(splitBase)     Build-Depends:       random >=1.0 && <2,-      process >=1.0 && <1.2,+      process >=1.0 && <1.3,       base >=2 && <5   Else     Build-Depends: base >=1.0 && <2@@ -53,5 +52,5 @@   GHC-Options:      -Wall   Hs-source-dirs:   src   Exposed-modules:-     Sound.OpenSoundControl.Transport.File-     Sound.OpenSoundControl.Transport.Monad.ByteString+     Sound.OSC.Transport.File+     Sound.OSC.Transport.Monad.ByteString
+ src/Sound/OSC/Transport/File.hs view
@@ -0,0 +1,36 @@+module Sound.OSC.Transport.File (T, open, ) where++import qualified Sound.OSC.Type as OSC+import Sound.OSC.Coding.Byte (encode_u32, )+import Sound.OSC.Class (encodeOSC, )+import Sound.OSC.Transport.FD (Transport(..), )++import qualified Data.ByteString.Lazy as B+import System.IO (Handle, openBinaryFile, hClose, IOMode(WriteMode), )+import Control.Monad (liftM, )+++-- | The File transport handle data type.+data T = Cons OSC.Packet Handle+   deriving (Eq, Show)+++instance Transport T where+   sendOSC (Cons _ h) msg =+      let b = encodeOSC msg+          n = fromIntegral (B.length b)+      in  B.hPut h (B.append (encode_u32 n) b)++   recvPacket (Cons msg _) = return msg++   close (Cons _ h) = hClose h++++{- |+Open a command file.+All 'recv' calls are answered with @msg@.+-}+open :: OSC.Packet -> FilePath -> IO T+open msg fileName =+   liftM (Cons msg) $ openBinaryFile fileName WriteMode
+ src/Sound/OSC/Transport/Monad/ByteString.hs view
@@ -0,0 +1,50 @@+module Sound.OSC.Transport.Monad.ByteString (T, run, ) where++import qualified Sound.OSC.Transport.Monad as TM++import qualified Sound.OSC.Type as OSC+import Sound.OSC.Class (encodeOSC, )++import qualified Data.ByteString.Lazy as B+import qualified Data.Binary.Put as Put++import Control.Monad.Trans.Reader (ReaderT, runReaderT, ask, )+import Control.Monad.Trans.Class (lift, )+import Control.Monad (ap, )+import Control.Applicative (Applicative, pure, (<*>), )+++newtype T a = Cons {decons :: ReaderT OSC.Packet Put.PutM a}+++instance Functor T where+   fmap f (Cons act) = Cons $ fmap f act++instance Applicative T where+   pure = return+   (<*>) = ap++instance Monad T where+   return = Cons . return+   Cons x >>= k  =+      Cons  $  decons . k =<< x+++instance TM.SendOSC T where+   sendOSC msg = Cons $ lift $+      let b = encodeOSC msg+      in  Put.putWord32be (fromIntegral (B.length b)) >>+          Put.putLazyByteString b++instance TM.RecvOSC T where+   recvPacket = Cons ask++instance TM.DuplexOSC T where+++{- |+Write sent messages to a ByteString.+All 'recv' calls are answered with @msg@.+-}+run :: OSC.Packet -> T () -> B.ByteString+run msg (Cons m) = Put.runPut (runReaderT m msg)
− src/Sound/OpenSoundControl/Transport/File.hs
@@ -1,36 +0,0 @@-module Sound.OpenSoundControl.Transport.File (T, open, ) where--import qualified Sound.OpenSoundControl.Type as OSC-import Sound.OpenSoundControl.Coding.Byte (encode_u32, )-import Sound.OpenSoundControl.Class (encodeOSC, )-import Sound.OSC.Transport.FD (Transport(..), )--import qualified Data.ByteString.Lazy as B-import System.IO (Handle, openBinaryFile, hClose, IOMode(WriteMode), )-import Control.Monad (liftM, )----- | The File transport handle data type.-data T = Cons OSC.Packet Handle-   deriving (Eq, Show)---instance Transport T where-   sendOSC (Cons _ h) msg =-      let b = encodeOSC msg-          n = fromIntegral (B.length b)-      in  B.hPut h (B.append (encode_u32 n) b)--   recvPacket (Cons msg _) = return msg--   close (Cons _ h) = hClose h----{- |-Open a command file.-All 'recv' calls are answered with @msg@.--}-open :: OSC.Packet -> FilePath -> IO T-open msg fileName =-   liftM (Cons msg) $ openBinaryFile fileName WriteMode
− src/Sound/OpenSoundControl/Transport/Monad/ByteString.hs
@@ -1,44 +0,0 @@-module Sound.OpenSoundControl.Transport.Monad.ByteString (T, run, ) where--import qualified Sound.OSC.Transport.Monad as TM--import qualified Sound.OpenSoundControl.Type as OSC-import Sound.OpenSoundControl.Class (encodeOSC, )--import qualified Data.ByteString.Lazy as B-import qualified Data.Binary.Put as Put--import Control.Monad.Trans.Reader (ReaderT, runReaderT, ask, )-import Control.Monad.Trans.Class (lift, )---newtype T a = Cons {decons :: ReaderT OSC.Packet Put.PutM a}---instance Functor T where-   fmap f (Cons act) = Cons $ fmap f act--instance Monad T where-   return = Cons . return-   Cons x >>= k  =-      Cons  $  decons . k =<< x---instance TM.SendOSC T where-   sendOSC msg = Cons $ lift $-      let b = encodeOSC msg-      in  Put.putWord32be (fromIntegral (B.length b)) >>-          Put.putLazyByteString b--instance TM.RecvOSC T where-   recvPacket = Cons ask--instance TM.DuplexOSC T where---{- |-Write sent messages to a ByteString.-All 'recv' calls are answered with @msg@.--}-run :: OSC.Packet -> T () -> B.ByteString-run msg (Cons m) = Put.runPut (runReaderT m msg)