more.osc

@mainpage OSCPKT : a minimalistic OSC ( http://opensoundcontrol.org ) c++ library

Before using this file please take the time to read the OSC spec, it is short and not complicated: http://opensoundcontrol.org/spec-1_0

Features: - handles basic OSC types: TFihfdsb - handles bundles - handles OSC pattern-matching rules (wildcards etc in message paths) - portable on win / macos / linux - robust wrt malformed packets - optional udp transport for packets - concise, all in a single .h file - does not throw exceptions

does not: - take into account timestamp values. - provide a cpu-scalable message dispatching. - not suitable for use inside a realtime thread as it allocates memory when building or reading messages.

More...

Members

Classes

Message
class Message

struct used to hold an OSC message that will be written or read.

OscException
class OscException
Undocumented in source.

Enums

ErrorCode
enum ErrorCode
Undocumented in source.
OscType
enum OscType
Undocumented in source.
OscTypeFlag
enum OscTypeFlag
Undocumented in source.

Functions

ceil4
size_t ceil4(size_t size)
Undocumented in source. Be warned that the author may not have intended to support it.
fullPatternMatch
bool fullPatternMatch(const(char)[] pattern, const(char)[] test)

check if the path matches the supplied path pattern , according to the OSC spec pattern rules ('*' and '//' wildcards, '{}' alternatives, brackets etc)

getID
char getID(OscType type)
Undocumented in source. Be warned that the author may not have intended to support it.
internalPatternMatch
const(char)* internalPatternMatch(const(char)* pattern, const(char)* path)
Undocumented in source. Be warned that the author may not have intended to support it.
nullPaddingLength
ubyte nullPaddingLength(size_t length)
Undocumented in source. Be warned that the author may not have intended to support it.
oscDeserialize
T oscDeserialize(const(int)* data)

read unaligned bytes into a POD type, assuming the bytes are a little endian representation

oscLength
size_t oscLength(const(ubyte)[] s)

oscLength includes the argument length and the type flag length

oscLength
size_t oscLength(A args)
Undocumented in source. Be warned that the author may not have intended to support it.
oscSerialize
size_t oscSerialize(ubyte* buffer, const(ubyte)[] s)
Undocumented in source. Be warned that the author may not have intended to support it.
oscSerialize
void oscSerialize(T value, int* bytes)

stored a POD type into an unaligned bytes array, using little endian representation

oscSerializeArgs
auto oscSerializeArgs(ubyte* buffer, A args)
Undocumented in source. Be warned that the author may not have intended to support it.
partialPatternMatch
bool partialPatternMatch(const(char)[] pattern, const(char)[] test)

check if the path matches the beginning of pattern

peel
inout(char)[] peel(inout(char)* address)

Peel the top-most osc container/method from the osc address. The address is null terminated and must start with a forward slash. address will point to the next forward slash or null. '/'.

Structs

ArgumentStorage
struct ArgumentStorage
Undocumented in source.
OscArg
struct OscArg
Undocumented in source.
OscMessage
struct OscMessage
Undocumented in source.
OscMethodTree
struct OscMethodTree

Implements a tree of Osc functions in a hiearchy. Used to lookup functions via an OscAddress.

TimeTag
struct TimeTag

OSC timetag stuff, the highest 32-bit are seconds, the lowest are fraction of a second.

Templates

oscTypeFlag
template oscTypeFlag(T)
Undocumented in source.

Unions

ValueUnion
union ValueUnion(T)
Undocumented in source.

Variables

typeIDs
char[] typeIDs;
Undocumented in source.

Detailed Description

There are basically 3 classes of interest: - oscpkt::Message : read/write the content of an OSC message - oscpkt::PacketReader : read the bundles/messages embedded in an OSC packet - oscpkt::PacketWriter : write bundles/messages into an OSC packet

And optionaly: - oscpkt::UdpSocket : read/write OSC packets over UDP.

@example: oscpkt_demo.cc @example: oscpkt_test.cc

Meta