/**
 * \page BoxAlgorithm_OSCController OSC Controller
__________________________________________________________________

Detailed description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Description|
By this box, you can control OSC supporting devices, such as 
synthesizers and oscillators. It can be used to turn OpenViBE 
streams into sound, e.g. for brain music or auditory BCI. 

The OSC Controller box simply sends the incoming data as UDP
messages to the specified OSC Server. Each message is flagged with 
an OSC Address specifying the device that the message is intended to
control.
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Description|
__________________________________________________________________

Inputs description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Inputs|
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Inputs|

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Input1|
Data to send to the OSC Server. This input can be either a signal, a matrix, or a stimulation. The signal or matrix must have only 1 channel (row). Signals are sent as float and stimulations as size_t.
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Input1|

__________________________________________________________________

Settings description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Settings|
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Settings|

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Setting1|
Server address (IP or DNS)
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Setting1|

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Setting2|
Server port
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Setting2|
 
 * |OVP_DocBegin_BoxAlgorithm_OSCController_Setting3|
The OSC Address specifying the device the messages are intended to, e.g. /oscillator/4/frequency
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Setting3|
__________________________________________________________________

Examples description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Examples|
Utilities such as OSC DataMonitor by Kasper Kamperman can be used to debug the messages sent out by the box.
 * |OVP_DocEnd_BoxAlgorithm_OSCController_Examples|
__________________________________________________________________

Miscellaneous description
__________________________________________________________________

 * |OVP_DocBegin_BoxAlgorithm_OSCController_Miscellaneous|
In the current implementation, the data is sent when received. OpenViBE internal timing is not passed to the OSC.
The box supports only one input, but the input type can be modified. The input must have only one channel. For signals, you can extract a 
channel by using the Channel Selector box. Also, if input type is a signal, its sampling rate is ignored. 
However, several OSC Controller boxes can be used at the same time if multiple sources are needed to be 
sent to the OSC Server(s) or device(s). These limitations are to keep the code simple.

The box is not intended to transmit large chunks of numeric data. It may be meaningful to limit the
amount of data on the OpenViBE side e.g. with boxes such as Signal Average, Downsampling or Signal Decimation, or Stimulation Filter.

For more information about the OSC protocol and applications that support it, please see http://www.opensoundcontrol.org

 * |OVP_DocEnd_BoxAlgorithm_OSCController_Miscellaneous|
 */
