Safe Haskell | None |
---|
Monad class implementing an Open Sound Control transport.
- class (Functor m, Monad m, MonadIO m) => Transport m where
- sendOSC :: OSC o => o -> m ()
- recvPacket :: m Packet
- type Connection t a = ReaderT t IO a
- withTransport :: Transport t => IO t -> Connection t a -> IO a
- sendMessage :: Transport m => Message -> m ()
- sendBundle :: Transport m => Bundle -> m ()
- recvOSC :: (Transport m, OSC o) => m (Maybe o)
- recvBundle :: Transport m => m Bundle
- recvMessage :: Transport m => m (Maybe Message)
- recvMessages :: Transport m => m [Message]
- waitUntil :: Transport m => (Packet -> Bool) -> m Packet
- waitFor :: Transport m => (Packet -> Maybe a) -> m a
- waitImmediate :: Transport m => m Packet
- waitMessage :: Transport m => m Message
- waitAddress :: Transport m => Address_Pattern -> m Packet
- waitReply :: Transport m => Address_Pattern -> m Message
- waitDatum :: Transport m => Address_Pattern -> m [Datum]
Documentation
class (Functor m, Monad m, MonadIO m) => Transport m whereSource
type Connection t a = ReaderT t IO aSource
Transport connection.
withTransport :: Transport t => IO t -> Connection t a -> IO aSource
Bracket Open Sound Control communication.
Send
sendMessage :: Transport m => Message -> m ()Source
Type restricted synonym for sendOSC
.
sendBundle :: Transport m => Bundle -> m ()Source
Type restricted synonym for sendOSC
.
Receive
recvOSC :: (Transport m, OSC o) => m (Maybe o)Source
Variant of recvPacket
that runs fromPacket
.
recvBundle :: Transport m => m BundleSource
Variant of recvPacket
that runs packet_to_bundle
.
recvMessage :: Transport m => m (Maybe Message)Source
Variant of recvPacket
that runs packet_to_message
.
recvMessages :: Transport m => m [Message]Source
Variant of recvPacket
that runs packetMessages
.
Wait
waitMessage :: Transport m => m MessageSource
waitFor
packet_to_message
, ie. an incoming Message
or
immediate mode Bundle
with one element.
waitAddress :: Transport m => Address_Pattern -> m PacketSource
A waitFor
for variant using packet_has_address
to match on
the Address_Pattern
of incoming Packets
.
waitReply :: Transport m => Address_Pattern -> m MessageSource
Variant on waitAddress
that returns matching Message
.
waitDatum :: Transport m => Address_Pattern -> m [Datum]Source
Variant of waitReply
that runs messageDatum
.