vivid-osc-0.3.0.0: Open Sound Control encode/decode

Safe HaskellNone
LanguageHaskell2010
Extensions
  • ScopedTypeVariables
  • OverloadedStrings
  • ViewPatterns
  • ExplicitForAll
  • LambdaCase

Vivid.OSC

Description

Open Sound Control data

Synopsis

Documentation

data OSC #

An OSC message, e.g.

OSC "/n_free" [OSC_I 42]

Constructors

OSC ByteString [OSCDatum] 
Instances
Eq OSC # 
Instance details

Defined in Vivid.OSC

Methods

(==) :: OSC -> OSC -> Bool #

(/=) :: OSC -> OSC -> Bool #

Ord OSC # 
Instance details

Defined in Vivid.OSC

Methods

compare :: OSC -> OSC -> Ordering #

(<) :: OSC -> OSC -> Bool #

(<=) :: OSC -> OSC -> Bool #

(>) :: OSC -> OSC -> Bool #

(>=) :: OSC -> OSC -> Bool #

max :: OSC -> OSC -> OSC #

min :: OSC -> OSC -> OSC #

Read OSC # 
Instance details

Defined in Vivid.OSC

Show OSC # 
Instance details

Defined in Vivid.OSC

Methods

showsPrec :: Int -> OSC -> ShowS #

show :: OSC -> String #

showList :: [OSC] -> ShowS #

data OSCDatum #

Constructors

OSC_I Int32 
OSC_S ByteString 
OSC_F Float 
OSC_D Double

This isn't a base type in the OSC standard but the scsynth response message from "/status" uses it...

OSC_B ByteString 
OSC_T Timestamp

From the OSC 1.1 spec

Instances
Eq OSCDatum # 
Instance details

Defined in Vivid.OSC

Ord OSCDatum # 
Instance details

Defined in Vivid.OSC

Read OSCDatum # 
Instance details

Defined in Vivid.OSC

Show OSCDatum # 
Instance details

Defined in Vivid.OSC

newtype Timestamp #

This is stored as the number of seconds since Jan 1 1900. You can get it with getTime

Constructors

Timestamp Double 
Instances
Eq Timestamp # 
Instance details

Defined in Vivid.OSC

Ord Timestamp # 
Instance details

Defined in Vivid.OSC

Read Timestamp # 
Instance details

Defined in Vivid.OSC

Show Timestamp # 
Instance details

Defined in Vivid.OSC

data OSCBundle #

TODO: a Bundle can also contain other bundles, recursively

Instances
Eq OSCBundle # 
Instance details

Defined in Vivid.OSC

Read OSCBundle # 
Instance details

Defined in Vivid.OSC

Show OSCBundle # 
Instance details

Defined in Vivid.OSC

putOSC :: OSC -> Put #

alignTo4' :: Integral i => i -> i #