Encoding and Parsing
Encoding
OSCMessages can be created as julia structs.
using OSC
using StringViews
msg = OSCMessage(StringView("/my/address"), StringView("ifs"), UInt32(15), Float32(3.45), StringView("string"))OSCBundles consist of a timetag and a numer of OSCBundleElements where a OSCBundleElement can either contain an OSCMessage or another OSCBundle.
using OSC
using StringViews
msg = OSCMessage(StringView("/my/address"), StringView("ifs"), UInt32(15), Float32(3.45), StringView("string"))
bundle_element = OSCBundleElement(msg)
bundle = OSCBundle(UInt64(123456), [bundle_element, bundle_element])Both OSCBundle and OSCMessage can be encoded to their Vector{UInt8} representation via the encodeOSC function.
using OSC
using StringViews
msg = OSCMessage(StringView("/my/address"), StringView("ifs"), UInt32(15), Float32(3.45), StringView("string"))
bundle_element = OSCBundleElement(msg)
bundle = OSCBundle(UInt64(123456), [bundle_element, bundle_element])
encodeOSC(msg)
encodeOSC(bundle)Parsing
Any incoming message buffer of the correct format can be parsed to an OSCMessage or OSCBundle struct via the parseOSC function.
using OSC
using StringViews
msg = OSCMessage(StringView("/my/address"), StringView("ifs"), UInt32(15), Float32(3.45), StringView("string"))
bundle_element = OSCBundleElement(msg)
bundle = OSCBundle(UInt64(123456), [bundle_element, bundle_element])
e_msg = encodeOSC(msg)
e_bundle = encodeOSC(bundle)
parseOSC(e_msg)
parseOSC(e_bundle)