使用方法
OscMessage mesg; mesg.setAddress("m"); mesg.addIntArg(10); mesg.addIntArg(11); mesg.addIntArg(12); g_oscSend.sendMessage(mesg);
先做记录,再做程序
整个消息是放在一个数组中
前8个字符做头 为#bundle\0
下面8个字节记录时间 这里都是1, 内存中为 0 0 0 0 0 0 0 1
再下面4个字节 整数 ,这里的数字大小指的是,osc地址的地址距离数据末尾的字节数 ,(也就是接收到数据包的长度减去这个值,就是osc消息的Adrrs的位置)
再下面就是地址字符串 大小根据字符串大小 ,然后4个字节对齐,不足补到4的倍数
再下面是所有参数的类型 第一个是 逗号,不知为何这样, 下面才是类型, 这里如果数量不是4的倍数也要补
接下来是每个参数的内存
类型
enum TypeTagValues { TRUE_TYPE_TAG = 'T', FALSE_TYPE_TAG = 'F', NIL_TYPE_TAG = 'N', INFINITUM_TYPE_TAG = 'I', INT32_TYPE_TAG = 'i', FLOAT_TYPE_TAG = 'f', CHAR_TYPE_TAG