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
Dependencies: NetServices mbed
Diff: mbedOSC.h
- Revision:
- 7:090b23c0a504
- Parent:
- 6:bdcd499c3ed4
- Child:
- 8:06a5e78d6821
--- a/mbedOSC.h Sun Apr 15 13:00:53 2012 +0000 +++ b/mbedOSC.h Sun Apr 15 13:06:07 2012 +0000 @@ -83,8 +83,8 @@ /** Gets the address string of the OSC message * - * @param [in] _index is the index of the address string (byte) - * return pointer of the address string (char *) + * @param[in] _index is the index of the address string (byte) + * @return pointer of the address string (char *) * @note ex. "/ard/test"<br> * getAddress(0) = "/ard"<br> * getAddress(1) = "/test" @@ -97,12 +97,12 @@ /** Gets the TopAddress string of the OSC message (this is just the address with index 0) @param[in] None - return pointer of the TopAddress string (char *), i.e. address[0] + @return pointer of the TopAddress string (char *), i.e. address[0] Example: In the case "/ard/test", getTopAddress() = "/ard" (WITH the slash "/") *//* Gets the TopAddress string of the OSC message (this is just the address with index 0) @param[in] None - return pointer of the TopAddress string (char *), i.e. address[0] + @return pointer of the TopAddress string (char *), i.e. address[0] Example: In the case "/ard/test", getTopAddress() = "/ard" (WITH the slash "/") */ char *getTopAddress(); //return address[0] :"/ard" @@ -110,7 +110,7 @@ /** Gets the "SubAddress" string of the OSC message (this is just the address with index 1) @param[in] None - return pointer of the SubAddress string (char *), i.e. address[1] + @return pointer of the SubAddress string (char *), i.e. address[1] Example: in the case "/ard/test", getSubAddress() = "/test" (WITH the slash "/") */ char *getSubAddress(); //return address[1] :"/test" @@ -118,7 +118,7 @@ /** Gets the number of the OSC message address @param[in] None - return number of the OSC message address (byte) + @return number of the OSC message address (byte) Examples: "/ard" --> the number of the addresses is 1 "/ard/test" --> the number of the addresses is 2 Attention: the maximum number of addresses is 2 (MAX_ADDRESS) @@ -127,8 +127,8 @@ /** Gets the TypeTag string (with index) of the OSC message -@param[in] <--_index is the index of the TypeTag string (byte) - return: TypeTag char (char) +@param[in] _index is the index of the TypeTag string (byte) + @return: TypeTag char (char) Example: in the case of a total typetag string equal to "if", getTypeTag(0) = 'i' and getTypeTag(1) = 'f' Attention: MAX_ARG is maximum number of the args, if the index argument is larger, it will be constrained to this max. */ @@ -138,7 +138,7 @@ /** Gets the number of the OSC message args @param[in] None - return number of the args (byte) + @return number of the args (byte) Example: "i" 123 --> number of the OSC message args is 1 "if" 123 54.24 --> number of the OSC message args is 2 Attention: the maximum number of args is 2 (MAX_ARG) @@ -147,8 +147,8 @@ /** Get the args of the OSC message with an integer value -@param[in] <--_index is (an int, or uint8_t), corresponding to the index of the args (byte) - return: integer value (long, or int32_t) +@param[in] _index is (an int, or uint8_t), corresponding to the index of the args (byte) + @return: integer value (long, or int32_t) Example: in the case "if" 123 54.24, getArgInt(0) = 123 Noe: "i" is integer, but the return type is "long" Note: When a index is bigger than the number of the args, it is set to the number of the args @@ -157,8 +157,8 @@ /** Get the args of the OSC message with a float value -@param[in] <--_index is the index of the args - return: float value (double) +@param[in] _index is the index of the args + @return: float value (double) note: In this case "if" 123 54.24, getArgFloat(1) = 54.24 attention: arg declared as float, but return value cast as "double" attention: When index is bigger than the number of the args, it is set to the number of the args @@ -169,7 +169,7 @@ /** Set TopAddress string of OSC Message @param[in] _address is a string pointer for the TopAddress String (char *). NOTE: is this a good idea? why not pass as const, and do allocation here? - return: None + @return: None Example: if the complete address string is "/ard/test", we set the topaddress as follows: char top[]="/ard" (allocation done here!), then setTopAddress(top) */ void setTopAddress(char *_address); //set address[0] @@ -177,7 +177,7 @@ /** Set SubAddress string of the OSC Message @param[in] _address is a string pointer for the SubAddress String (char *) - return: None + @return: None Example: if the complete address string is "/ard/test", we set the subaddress as follows: char sub[]="/test" (allocation done here!), then setSubAddress(sub) Attention: we should call first setTopAddress, and then setSubAddress. The order is important. This does not seems like a good idea... */ @@ -186,7 +186,7 @@ /** Set the complete Address string of the OSC Message (top and sub addresses) @param[in] _topAddress and _subAddress are the string pointers to top and sub addresses (char *) - return: None + @return: None Example: in the case "/ard/test", we need to do: char top[]="/ard", char sub[]="/test", and then setAddress(top,sub) Reminder: in this implementation, the maximum number of addresses is MAX_ADDRESS=2 */ @@ -285,14 +285,14 @@ /** This initializes the OSC communication object with default receiving port (DEFAULT_REC_PORT) @param[in]: None - return: None + @return: None */ void begin(); /** Initialize an OSC object with arbitrary listening port @param[in] _recievePort, is the listening ("receiving") Port No (unsigned int) - return: None + @return: None */ void begin(uint16_t _recievePort); @@ -307,7 +307,7 @@ /** Set a OSC receive message container @param[in] _mes Pointer to the OSC receive message container (OSCMessage *) - return None + @return None */ void setReceiveMessage( OSCMessage *_mes ); //set receive OSCmessage container (note: the message has a "host" object from which we get the upd packets) @@ -324,7 +324,7 @@ /** Send an OSC Message (message contain the host ip and port where the message data has to be sent) @param[in] _mes Pointer to the OSC message container (OSCMessage *) - return None + @return None */ void sendOsc( OSCMessage *_mes ); //set&send OSCmessage (note: it will be sent to the host defined in the message container)