119 const char *arguments,
128 const char *arguments,
146 const char *arguments,
165 const char *type_pos;
166 const uint8_t *value_pos;
222 const char* arg_str, va_list ap);
229 const char* arg_str, ...);
305size_t rtosc_bundle(
char *buffer,
size_t len, uint64_t tt,
int elms, ...);
361 const char *msg,
const char** path_end);
373 const char *msg,
const char** path_end);
size_t rtosc_message_length(const char *msg, size_t len)
const char * rtosc_bundle_fetch(const char *msg, unsigned i)
Fetch a message within the bundle.
void rtosc_v2args(rtosc_arg_t *args, size_t nargs, const char *arg_str, rtosc_va_list_t *ap)
Pack arguments into pre-allocated rtosc_arg_t array.
size_t rtosc_bundle(char *buffer, size_t len, uint64_t tt, int elms,...)
Generate a bundle from sub-messages.
void rtosc_arg_val_itr_next(rtosc_arg_val_itr *itr)
unsigned rtosc_narguments(const char *msg)
Returns the number of arguments found in a given message.
size_t rtosc_amessage(char *buffer, size_t len, const char *address, const char *arguments, const rtosc_arg_t *args)
size_t rtosc_message_ring_length(ring_t *ring)
Finds the length of the next message inside a ringbuffer structure.
const char * rtosc_argument_string(const char *msg)
size_t rtosc_message(char *buffer, size_t len, const char *address, const char *arguments,...)
Write OSC message to fixed length buffer.
rtosc_arg_itr_t rtosc_itr_begin(const char *msg)
Create an argument iterator for a message.
size_t rtosc_vmessage(char *buffer, size_t len, const char *address, const char *arguments, va_list va)
rtosc_arg_t rtosc_argument(const char *msg, unsigned i)
Blob data may be safely written to.
size_t rtosc_bundle_size(const char *msg, unsigned i)
Get the size of a particular bundle element.
char rtosc_type(const char *msg, unsigned i)
size_t rtosc_bundle_elements(const char *msg, size_t len)
Find the elements in a bundle.
bool rtosc_match(const char *pattern, const char *msg, const char **path_end)
This is a non-compliant pattern matcher for dispatching OSC messages.
void rtosc_v2argvals(rtosc_arg_val_t *args, size_t nargs, const char *arg_str, va_list ap)
Pack parameters into pre-allocated rtosc_arg_val-t array.
int rtosc_itr_end(rtosc_arg_itr_t itr)
Determines if the iterator is at the end of the argument list.
rtosc_arg_val_t rtosc_itr_next(rtosc_arg_itr_t *itr)
Gets the next argument in a message.
uint64_t rtosc_bundle_timetag(const char *msg)
void rtosc_2argvals(rtosc_arg_val_t *args, size_t nargs, const char *arg_str,...)
Pack parameters into pre-allocated rtosc_arg_val-t array.
int rtosc_bundle_p(const char *msg)
Test if the buffer contains a bundle.
const char * rtosc_match_path(const char *pattern, const char *msg, const char **path_end)
Attempt to match a rtosc style path while ignoring arguments.
bool rtosc_valid_message_p(const char *msg, size_t len)
Validate if an arbitrary byte sequence is an OSC message.
size_t rtosc_avmessage(char *buffer, size_t len, const char *address, size_t nargs, const rtosc_arg_val_t *args)
const rtosc_arg_val_t * rtosc_arg_val_itr_get(const rtosc_arg_val_itr *itr, rtosc_arg_val_t *buffer)
this usually just returns the value from operand, except for range operands, where the value is being...
arg val element indicating an array, or a block of "nothing" blocks of "nothing" are just for interna...
Definition rtosc.h:50
int32_t len
number of arg_val_t (or "nothing") contained
Definition rtosc.h:52
char type
common type of the elements
Definition rtosc.h:51
indicates that the next nothing_t::len blocks count as if nonexistant they might contain rubbish
Definition rtosc.h:66
a repeater is being followed by a delta argument (unless has_delta is 0)
Definition rtosc.h:57
int32_t num
how often the first element is being repeated, including itself
Definition rtosc.h:59
int32_t has_delta
if not 0, the next argument is the delta
Definition rtosc.h:60
Iterator over arg values.
Definition rtosc.h:186
int range_i
position of this arg val in its range
Definition rtosc.h:189
const rtosc_arg_val_t * av
the arg val referenced
Definition rtosc.h:187
size_t i
position of this arg val
Definition rtosc.h:188
double float_tolerance
< tolerance to when two floats or doubles are equal
Definition rtosc.h:172
va_list container, required for passing va_list as pointers to functions
Definition rtosc.h:204