3OLDCODE#include <config.h>
5OLDCODE#
if !defined(IPHONE) && !defined(_ANDROID) && !defined(GLES2) && !defined(AQUA)
17OLDCODEtypedef int (*functions)(
const char *path,
const char *types, lo_arg **argv,
int argc,
void *data,
void *user_data) ;
19OLDCODEint nullOSC_handler(
const char *path,
const char *types, lo_arg **argv,
int argc,
void *data,
void *user_data) ;
20OLDCODEint defaultOSC_handler(
const char *path,
const char *types, lo_arg **argv,
int argc,
void *data,
void *user_data) ;
22OLDCODEint nullOSC_handler(
const char *path,
const char *types, lo_arg **argv,
int argc,
void *data,
void *user_data)
27OLDCODE printf(
"nullOSC_handler (%s,%d) : description='%s'\n",__FILE__,__LINE__, realnode->description->strptr) ;
28OLDCODE printf(
"nullOSC_handler (%s,%d) : filter=%s\n",__FILE__,__LINE__, realnode->filter->strptr) ;
29OLDCODE printf(
"nullOSC_handler (%s,%d) : listenfor=%s\n",__FILE__,__LINE__, realnode->listenfor->strptr);
31OLDCODE printf(
"%s (%d,%s) <-", path, argc,types);
33OLDCODE
for (i=0 ; i < argc ; i++) {
34OLDCODE
switch (types[i]) {
36OLDCODE printf(
" %c:%f", types[i], argv[i]->f) ;
39OLDCODE printf(
" %c:%d", types[i], argv[i]->i) ;
42OLDCODE printf(
" %c:??", types[i]) ;
46OLDCODE printf(
"\n\n") ;
47OLDCODE fflush(stdout);
51OLDCODEint defaultOSC_handler(
const char *path,
const char *types, lo_arg **argv,
int argc,
void *data,
void *user_data)
56OLDCODE
int willOverflow = 0;
61OLDCODE
int iBlobCount;
62OLDCODE
int iMidiCount;
63OLDCODE
int iOtherCount;
65OLDCODE utilOSCcounts((
char*) types,&iIntCount,&iFltCount,&iStrCount,&iBlobCount,&iMidiCount,&iOtherCount);
72OLDCODE
if (realnode->FIFOsize > 0) {
73OLDCODE freeCount = RingBuffer_freeLen(realnode->_floatInpFIFO) ;
74OLDCODE
if (iFltCount > freeCount) {willOverflow++;}
76OLDCODE freeCount = RingBuffer_freeLen(realnode->_int32InpFIFO ) ;
77OLDCODE
if ((iIntCount+iMidiCount) > freeCount) {willOverflow++;}
79OLDCODE freeCount = RingBuffer_freeLen(realnode->_stringInpFIFO) ;
80OLDCODE
if ((iStrCount+iBlobCount+iOtherCount) > freeCount) {willOverflow++;}
115OLDCODE
if (willOverflow > 0) {
116OLDCODE printf(
"defaultOSC_handler would overflow in %s,%d\n", __FILE__,__LINE__);
119OLDCODE #
if TRACK_OSC_MSG
120OLDCODE printf(
"%s (%d,%s) <-", path, argc,types);
123OLDCODE
int pushBuffError = 0 ;
124OLDCODE
for (i=0 ; i < argc ; i++) {
125OLDCODE
switch (types[i]) {
127OLDCODE #
if TRACK_OSC_MSG
128OLDCODE printf(
" %c:%f", types[i], argv[i]->f) ;
130OLDCODE realnode->floatInp = (argv[i]->f) ;
131OLDCODE
if (realnode->FIFOsize > 0) {
132OLDCODE #
if TRACK_OSC_MSG
133OLDCODE printf(
"_floatInpFIFO = %p\n",realnode->_floatInpFIFO) ;
135OLDCODE pushBuffError = RingBuffer_pushFloat(realnode->_floatInpFIFO, argv[i]->f) ;
139OLDCODE #
if TRACK_OSC_MSG
140OLDCODE printf(
" %c:%d", types[i], argv[i]->i) ;
142OLDCODE realnode->int32Inp = (argv[i]->i) ;
143OLDCODE
if (realnode->FIFOsize > 0) {
144OLDCODE #
if TRACK_OSC_MSG
145OLDCODE printf(
"_int32InpFIFO = %p\n",realnode->_int32InpFIFO) ;
147OLDCODE pushBuffError = RingBuffer_pushInt(realnode->_int32InpFIFO, argv[i]->i) ;
151OLDCODE #
if TRACK_OSC_MSG
152OLDCODE printf(
" %c:%s", types[i], (
char *)argv[i]) ;
154OLDCODE
if (realnode->stringInp != NULL) {FREE(realnode->stringInp);}
155OLDCODE realnode->stringInp = newASCIIString((
char *)argv[i]);
156OLDCODE
if (realnode->FIFOsize > 0) {
157OLDCODE #
if TRACK_OSC_MSG
158OLDCODE printf(
"_stringInpFIFO = %p\n",realnode->_stringInpFIFO) ;
160OLDCODE pushBuffError = RingBuffer_pushPointer(realnode->_stringInpFIFO, (newASCIIString((
char *)argv[i]))->strptr);
164OLDCODE printf(
" %c:??", types[i]) ;
165OLDCODE lo_arg_pp(types[i], argv[i]);
168OLDCODE #
if TRACK_OSC_MSG
172OLDCODE #
if TRACK_OSC_MSG
173OLDCODE printf(
"\n\n") ;
175OLDCODE fflush(stdout);
177OLDCODE
if (realnode->enabled) {
178OLDCODE realnode->gotEvents += 1;
179OLDCODE MARK_EVENT (X3D_NODE(realnode), offsetof(
struct X3D_OSC_Sensor, gotEvents));
182OLDCODE #
if TRACK_OSC_MSG
184OLDCODE printf(
"defaultOSC_handler : description='%s'\n", realnode->description->strptr) ;
185OLDCODE printf(
"defaultOSC_handler : int32Inp=%d\n", realnode->int32Inp);
186OLDCODE printf(
"defaultOSC_handler : floatInp=%f\n", realnode->floatInp);
187OLDCODE printf(
"defaultOSC_handler : stringInp=%s\n", realnode->stringInp->strptr);
190OLDCODE
if (realnode->FIFOsize > 0) {
191OLDCODE
int qLen , iTemp ;
193OLDCODE
char * sTemp ;
195OLDCODE qLen = RingBuffer_qLen(realnode->_floatInpFIFO) ;
196OLDCODE
if (qLen > 0) {
197OLDCODE fTemp = RingBuffer_peekUnion(realnode->_floatInpFIFO)->f ;
198OLDCODE printf(
"%d : float length=%d , head=%f\n",__LINE__,qLen,fTemp);
201OLDCODE qLen = RingBuffer_qLen(realnode->_int32InpFIFO) ;
202OLDCODE
if (qLen > 0) {
203OLDCODE iTemp = RingBuffer_peekUnion(realnode->_int32InpFIFO)->i ;
204OLDCODE printf(
"%d : int length=%d , head=%d\n",__LINE__,qLen,iTemp);
207OLDCODE qLen = RingBuffer_qLen(realnode->_stringInpFIFO) ;
208OLDCODE
if (qLen > 0) {
209OLDCODE sTemp = (
char *)RingBuffer_peekUnion(realnode->_stringInpFIFO)->p ;
210OLDCODE printf(
"%d : string length=%d , head=%s\n",__LINE__,qLen,sTemp);
219OLDCODE#define OSCfuncCount 2
220OLDCODEfunctions OSCcallbacks[OSCfuncCount] = {nullOSC_handler,defaultOSC_handler};
221OLDCODEchar *OSCfuncNames[OSCfuncCount] = {
"",
"default" };