Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data types for Osc messages, bundles and packets.
Synopsis
- type Address_Pattern = String
- data Message = Message {
- messageAddress :: !Address_Pattern
- messageDatum :: ![Datum]
- message :: Address_Pattern -> [Datum] -> Message
- messageSignature :: Message -> String
- messageDescriptor :: Message -> Ascii
- data BundleOf t = Bundle {
- bundleTime :: !Time
- bundleMessages :: ![t]
- type Bundle = BundleOf Message
- bundle :: Time -> [t] -> BundleOf t
- data PacketOf t
- = Packet_Message {
- packetMessage :: !Message
- | Packet_Bundle {
- packetBundle :: !(BundleOf t)
- = Packet_Message {
- type Packet = PacketOf Message
- p_bundle :: Time -> [t] -> PacketOf t
- p_message :: Address_Pattern -> [Datum] -> PacketOf t
- immediately :: Time
- packetTime :: PacketOf t -> Time
- packetMessages :: PacketOf Message -> [Message]
- packet_to_bundle :: PacketOf Message -> BundleOf Message
- packet_to_message :: PacketOf Message -> Maybe Message
- packet_is_immediate :: PacketOf t -> Bool
- at_packet :: (Message -> a) -> (BundleOf t -> a) -> PacketOf t -> a
- message_has_address :: Address_Pattern -> Message -> Bool
- bundle_has_address :: Address_Pattern -> BundleOf Message -> Bool
- packet_has_address :: Address_Pattern -> PacketOf Message -> Bool
Message
type Address_Pattern = String Source #
Osc address pattern. This is strictly an Ascii value, however it
is very common to pattern match on addresses and matching on
Data.ByteString.Char8 requires OverloadedStrings
.
An Osc message, an Address_Pattern
and a sequence of Datum
.
Message | |
|
message :: Address_Pattern -> [Datum] -> Message Source #
Message
constructor. It is an error
if the Address_Pattern
doesn't conform to the Osc specification.
messageSignature :: Message -> String Source #
messageDescriptor :: Message -> Ascii Source #
Bundle
An Osc bundle, a Time
and a sequence of Message
s.
The type parameter specifies the element type.
Ordinarily this is Message, which does not allow recursion.
Bundle | |
|
Instances
Read t => Read (BundleOf t) Source # | |
Show t => Show (BundleOf t) Source # | |
Eq t => Eq (BundleOf t) Source # | |
Eq t => Ord (BundleOf t) Source # | Osc |
Packet
Packet_Message | |
| |
Packet_Bundle | |
|
immediately :: Time Source #
Constant indicating a bundle to be executed immediately.
It has the Ntp64 representation of 1
.
>>>
immediately == (1 / (2 ^ 32))
True
packetTime :: PacketOf t -> Time Source #
The Time
of Packet
, if the Packet
is a Message
this is immediately
.
packet_to_bundle :: PacketOf Message -> BundleOf Message Source #
If Packet
is a Message
add immediately
timestamp, else id
.
packet_is_immediate :: PacketOf t -> Bool Source #
Is Packet
immediate, ie. a BundleOf
with timestamp immediately
, or a plain Message.
Address Query
message_has_address :: Address_Pattern -> Message -> Bool Source #
Does Message
have the specified Address_Pattern
.
bundle_has_address :: Address_Pattern -> BundleOf Message -> Bool Source #
Do any of the Message
s at 'Bundle Message' have the specified
Address_Pattern
.
packet_has_address :: Address_Pattern -> PacketOf Message -> Bool Source #
Does Packet
have the specified Address_Pattern
, ie.
message_has_address
or bundle_has_address
.