h`um      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h ijkl)The IEEE byte representation of a float.  Inverse of . *The IEEE byte representation of a double.  Inverse of f64_i64. ATransform a haskell string into a C string (a null suffixed byte  string).  Inverse of . ATransform a haskell string to a pascal string (a length prefixed  byte string).  Inverse of . Encode a signed 8-bit integer.  Encode a signed 16-bit integer.  Encode a signed 32-bit integer. #Encode an unsigned 16-bit integer.  Encode a signed 64-bit integer. #Encode an unsigned 64-bit integer. ,Encode a 32-bit IEEE floating point number. ,Encode a 64-bit IEEE floating point number. Encode an ASCII string. Decode a signed 8-bit integer.  Decode a signed 16-bit integer.  Decode a signed 32-bit integer. #Decode an unsigned 32-bit integer.  Decode a signed 64-bit integer. #Decode an unsigned 64-bit integer. ,Decode a 32-bit IEEE floating point number. ,Decode a 64-bit IEEE floating point number. Decode an ASCII string. Bundle header string. ?The number of bytes required to align an OSC value to the next  4-byte boundary.    Time is represented in either UTC or NTP form. The NTP form may  be either integral or real.  -Type for integer representation of NTP time. !Coerce  to integral NTP form. "Coerce  to real-valued UTC form. #*Convert a real-valued NTP timestamp to an   timestamp. $ Convert an  + timestamp to a real-valued NTP timestamp. %*Convert a real-valued UTC timestamp to an   timestamp. &DConvert a real-valued NTP timestamp to a real-valued UTC timestamp. ' Convert an  + timestamp to a real-valued UTC timestamp. (!The time at 1970-01-01:00:00:00. )>Constant indicating the bundle is to be executed immediately. *Read current real-valued UTC timestamp. + Read current   timestamp. ,The -. limit (in seconds). Values larger than this 1 require a different thread delay mechanism, see /. The ( value is the number of microseconds in  maxBound::Int. -BPause current thread for the indicated duration (in seconds), see  ,). Note also that this function does not  attempt pauses less than 1e-4. .1Pause current thread until the given real-valued UTC time, see  ,. />Sleep current thread for the indicated duration (in seconds). / Divides long sleeps into parts smaller than ,. 01Sleep current thread until the given real-valued UTC time. - Divides long sleeps into parts smaller than ,. m6Times can be ordered, avoid coercion if not required.  !"#$%&'()*+,-./0 !"#$%&'()*+,-./0 !"#$%&'()*+,-./01An OSC packet. 234$The basic elements of OSC messages. 56789:;<-Single character identifier of an OSC datum. =Bundle constructor. It is an n if the 1 list is empty. >Message constructor. It is an n if the address doesn't # conform to the OSC specification. o:OSC bundles can be ordered (time ascending). Bundles and  messages compare p. 123456789:;<=>1324;:98765>=<132234;:9876556789:;<=> ?1Abstract over the underlying transport protocol. @Encode and send an OSC packet. A"Receive and decode an OSC packet. BClose an existing connection. qrsReal valued variant of t. CVariant that wraps A in an n second t. DBWait for an OSC message where the supplied function does not give - Nothing, discarding intervening messages. EA D/ for variant matching on the address string of  incoming messages. FBracket OSC communication. ?@ABCDEF?@ABFCDE?@AB@ABCDEF uIIsolate an action to operating within a fixed block of bytes. The action @ is required to consume all the bytes that it is isolated to. v0Get a 32 biut integer in big-endian byte order. wGet an aligned OSC string. x(Get binary data prefixed by byte count. yGet an OSC datum. zGet an OSC message. {Get an OSC packet. |?Get a sequence of OSC messages, each one headed by its length. }GGet an OSC packet. H-Decode an OSC packet from a lazy ByteString. A let b = L.pack [47,103,95,102,114,101,101,0,44,105,0,0,0,0,0,0] - in decodeOSC b == Message "/g_free" [Int 0] I/Decode an OSC packet from a strict ByteString. GHIGHIGHI ~J"Builder monoid for an OSC packet. K+Encode an OSC packet to a lazy ByteString. A let b = L.pack [47,103,95,102,114,101,101,0,44,105,0,0,0,0,0,0] / in encodeOSC (Message "/g_free" [Int 0]) == b L-Encode an OSC packet to a strict ByteString. JKLJKLJKLMAn O and P pair over . N6Converting from and to binary packet representations. ODecode an OSC packet. PEncode an OSC packet. MNOPNOPMMNOPOP Q$The UDP transport handle data type. RSTUV7Return the port number associated with the UDP socket. W,Make a UDP connection with specified coder. X)Trivial udp server with specified coder. Y+Send variant to send to specified address. Z0Recv variant to collect message source address. QRSTUVWXYZ QRSTUVWXYZ QRSTURSTUVWXYZ [$The TCP transport handle data type. \]^_`-Make a TCP connection using specified coder. a0A trivial TCP OSC server using specified coder. [\]^_`a[\]^_`a[\]^_\]^_`a b8Map a normalizing function over datum at an osc packet. cCoerce Float to Double. d Coerce Int and Float to Double. e Coerce Float and Double to Int. fBA normalized osc packet has only Int and Double numerical values. bcdefbcdefbcdef gDecode an OSC packet. A let b = B.pack [47,103,95,102,114,101,101,0,44,105,0,0,0,0,0,0] - in decodeOSC b == Message "/g_free" [Int 0] ggg hEncode an OSC packet. hhhiMake a UDP connection. # let t = openUDP "127.0.0.1" 57110 4 in withTransport t (\fd -> recvT 0.5 fd >>= print) jTrivial udp server. kMake a TCP connection. lA trivial TCP OSC server. B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFHKQRSTUVWXYZ[\]^_`aijklKHijklijkl !"#$%&'()*+,-.,/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\YV ] ] ^ _ ` a b c d e f f g h i j k l m n o p V Yqrstuvwxyz{|}~v hosc-0.11"Sound.OpenSoundControl.Coding.Cast"Sound.OpenSoundControl.Coding.ByteSound.OpenSoundControl.TimeSound.OpenSoundControl.Type Sound.OpenSoundControl.Transport+Sound.OpenSoundControl.Coding.Decode.Binary,Sound.OpenSoundControl.Coding.Encode.BuilderSound.OpenSoundControl.Coding$Sound.OpenSoundControl.Transport.UDP$Sound.OpenSoundControl.Transport.TCP$Sound.OpenSoundControl.Coding.Coerce)Sound.OpenSoundControl.Coding.Decode.Base)Sound.OpenSoundControl.Coding.Encode.BaseSound.OpenSoundControlf32_w32w32_f32f64_w64w64_f64str_cstrcstr_strstr_pstrpstr_str encode_i8 encode_i16 encode_i32 encode_u32 encode_i64 encode_u64 encode_f32 encode_f64 encode_str decode_i8 decode_i16 decode_i32 decode_u32 decode_i64 decode_u64 decode_f32 decode_f64 decode_str bundleHeaderalignTimeNTPiNTPrUTCras_ntpias_utcr ntpr_ntpi ntpi_ntpr utcr_ntpi ntpr_utcr ntpi_utcrutc_base immediatelyutcrntpipauseThreadLimit pauseThreadpauseThreadUntil sleepThreadsleepThreadUntilOSCBundleMessageDatumMidi TimeStampBlobStringDoubleFloatInttagbundlemessage TransportsendrecvcloserecvTwaitForwait withTransportgetOSC decodeOSC decodeOSC'buildOSC encodeOSC encodeOSC'CoderCodingUDP udpEncode udpDecode udpSocketudpPortopenUDP' udpServer'sendTorecvFromTCP tcpEncode tcpDecode tcpHandleopenTCP' tcpServer'coercef_to_dif_to_dfd_to_i normalizeopenUDP udpServeropenTCP tcpServer $fOrdTimebaseGHC.Errerror$fOrdOSCghc-prim GHC.OrderingEQ has_addressuntilM timeout_rSystem.Timeouttimeoutisolate getInt32be get_string get_bytes get_datum get_message get_packetget_packet_seq get_bundle descriptorpadding build_string build_bytes build_datum build_messagebuild_bundle_ntpibytestring-0.9.2.0Data.ByteString.Lazy.Internal ByteStringsizestorage decode_datumdecode_datum_seqdecode_messagedecode_message_seq decode_bundleb_takeb_dropextend encode_datumencode_messageencode_osc_blobencode_bundle_ntpi