O2 2.0
A communication protocol for interactive music and media applications.
|
union of all O2 parameter types More...
#include <o2.h>
Public Attributes | |
int32_t | i32 |
32 bit signed integer. | |
int32_t | i |
an alias for i32 | |
int64_t | i64 |
64 bit signed integer. | |
int64_t | h |
an alias for i64 | |
float | f |
32 bit IEEE-754 float. | |
float | f32 |
an alias for f | |
double | d |
64 bit IEEE-754 double. | |
double | f64 |
an alias for d | |
char | s [4] |
Standard C, NULL terminated string. | |
char | S [4] |
Standard C, NULL terminated, string. Used in systems which distinguish strings and symbols. | |
int | c |
Standard C, 8 bit, char, stored as int. | |
uint32_t | m |
O2time | t |
TimeTag value. | |
O2blob | b |
a blob (unstructured bytes) | |
int32_t | B |
a boolean value, either 0 or 1 | |
struct { | |
int32_t len | |
IMPORTANT: divide by 4 or 8 to get length in elements. More... | |
int32_t typ | |
type of vector elements | |
union { | |
int32_t * vi | |
vector of 32-bit signed integers | |
int64_t * vh | |
vector of 64-bit signed integers | |
double * vd | |
vector of IEEE-754 doubles | |
float * vf | |
vector of IEEE-754 floats | |
} | |
} | v |
union of all O2 parameter types
An O2arg_ptr is a pointer to an O2 message argument. If argument parsing is requested (by setting the parse parameter in o2_method_new), then the handler receives an array of O2arg_ptrs. If argument parsing is not requested, you have the option of parsing the message one parameter at a time by calling o2_get_next, which returns an O2arg_ptr.
The O2arg_ptr can then be dereferenced to obtain a value of the expected type. For example, you could write
to extract a parameter of type double. (This assumes that the message is properly formed and the type string indicates that this parameter is a double, or that type coercion was enabled by the coerce flag in o2_method_new.)
int32_t O2arg::len |
IMPORTANT: divide by 4 or 8 to get length in elements.
length of vector in bytes
uint32_t O2arg::m |
A 4 byte MIDI packet. MSB to LSB are port id, status, data1, data2