Fork of, triyin to rewrite for mbed 5. WIP not yet finished but working. ----------------------- An Open Sound Control library for the mbed, created to be compatible with Recotana's OSCClass library (http://recotana.com) for the Arduino with Ethernet shield. It also uses parts of the OSC Transceiver(Sender/Receiver) code by xshige written by: Alvaro Cassinelli, October 2011 tweaked by: Toby Harris / *spark audio-visual, March 2012

Revision:
18:3c678e1d5a84
Parent:
16:36d28d8e5491
Child:
19:35408d190f4e
diff -r 9479c15a9d54 -r 3c678e1d5a84 OSCBundle.cpp
--- a/OSCBundle.cpp	Fri Dec 14 19:47:55 2018 +0100
+++ b/OSCBundle.cpp	Fri Dec 14 20:51:12 2018 +0100
@@ -209,15 +209,23 @@
     //write the bundle header
     static const uint8_t header[] = {'#', 'b', 'u', 'n', 'd', 'l', 'e', 0};
     strcat(buff, (char *)header);
+    lengthEnd=strlen(buff);
+
 //    p.write(header, 8);
     //write the timetag
 {
     osctime_t time =  timetag;
     uint32_t d = BigEndian(time.seconds);
     uint8_t * ptr = (uint8_t *)    &d;
+    for(int i = 0; i < 4; i++){
+    	buff[lengthEnd++]=ptr[i];
+    }
 //    p.write(ptr, 4);
     d = BigEndian(time.fractionofseconds);
     ptr = (uint8_t *)    &d;
+    for(int i = 0; i < 4; i++){
+    	buff[lengthEnd++]=ptr[i];
+    }
 //    p.write(ptr, 4);
 }
 
@@ -229,9 +237,14 @@
         uint32_t s32 = BigEndian((uint32_t) msgSize);
         uint8_t * sptr = (uint8_t *) &s32;
         //write the messsage size
+        for(int i = 0; i < 4; i++){
+            	buff[lengthEnd++]=sptr[i];
+            }
+
 //        p.write(sptr, 4);
         msg->send(p, host, port);
     }
+    p.sendto(host, port, buff, lengthEnd);
     return *this;
 }