Name: | Medialon OSC |
Version: | 6.7.2 |
Limitation In: | |
Available for: | Manager V7 and Manager V6 (Lite & Pro), Showmaster (Mini, ST, Pro, LE, XS) |
Device Brand: | Medialon |
Positrack Compatible: | No |
Resources type: | TCP/IP Network |
Open Sound Control (OSC) is a content format for messaging among computers, sound synthesizers, and other multimedia devices that are optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC’s advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation.
The MXM Medialon OSC is able to send and receive OSC-formatted messages. OSC is a transport independent protocol, meaning it is a format for data that can be carried across a variety of networking topologies. This MXM assumes an UDP network and supports the following OSC types:
Medialon OSC Setup: The dialog box contains two parts:
Because the MXM is a OSC Client/Server the settings below must be filled:
Send Address: The name or IP address of the remote OSC device. Can be empty if the MxM doesn’t send any OSC message.
Send Port: The IP Port used by the remote OSC device to communicate.
Receive Port: The IP Port used by the MXM to receive OSC messages.
Send Value as a Bundle: ‘Send Value’ command sends the data as a OCS Bundle (by default) or as a single OSC message.
OSC Methods are the potential destinations of OSC messages received by the OSC server and correspond to each of the points of control that the application makes available.
An OSC Server’s OSC Methods are arranged in a tree structure called an OSC Address Space. The leaves of this tree are the OSC Methods and the branch nodes are called OSC Containers
The OSC Address of an OSC Method is a symbolic name giving the full path to the OSC Method in the OSC Address Space, starting from the root of the tree. An OSC Method’s OSC Address begins with the character ‘/’ (forward slash), followed by the names of all the containers, in order, along the path from the root of the tree to the OSC Method, separated by forward slash characters, followed by the name of the OSC Method. The syntax of OSC Addresses was chosen to match the syntax of URLs.
An Alias can be defined in the Medialon OSC MXM in order to ease identification of methods.
A Method can have Parameters which are identified by their index in the list. This index matches with the index of the parameter in the message received by the OSC Server of the Device.
For each Method, the option ‘Store messages’ allows to choose to store the received messages and process them later by using the ‘Get Message’ command or to process the message directly when it is received.
If the ‘Store messages’ is enabled, a message counter variable is created for this method. This variable allows to know how many messages are stacked and to unstack them by calling the ‘Get Message’ command.
The message received by the OSC server of the Device can contains parameters with differents types:
Also for each Parameters associated to a Method in the MXM Medialon OSC, a device variable is created. This variable is updated when a OSC message is processed and if this message match with the Method.
The type of the device variable of these Parameters can be defined during the Setup. It doesn’t depend of the OSC Type and can be:
The Parameter name defined into the Setup can also be the name of a variable which already exists in the Medialon project. That allows to update this variable when the appropriated OSC message is processed. In that case no device variable is created for this parameter.
Let’s say that we want to monitor the frequency of a high pass filter in an OSC capable audio device. The complete OSC address of the low pass filter documented as /filters/HighPass
and the frequency is the first paramter of this address.
/filters/HighPass
HighPass
Frequency
Integer
/filters/HighPass Frequency
parameterLet’s say that we want to monitor the volume level of a VCA of an OSC capable audio device and directly show this level in a Gauge user screen object named Gauge_Fader1
. The complete OSC address of the VCA is documented as /faders/fader1
and the volume is the first parameter of this method.
/faders/fader1
Sends one OSC value.
/root/branch1/method
Sends multiple OSC values.
/root/branch1/method
Get and process the message of a specific Method.
This command should be called only for the methods which have the ‘Store messages’ option is enabled (otherwise it has no effect). The parameters defined for the specified method are updated after the execution of this command and the _MessageCount
variable of this method is decremented.
/root/branch1/method
or Alias of a Method defined during the Setup
Usage Example
Let’s say the OSC method /command/log
is used to log status messages (provided as parameter1 of type string) by an OSC capable equipment.
In order to monitor and display the status messages, a corresponding method (alias: Log
) and a parameter (name:status
) must be defined in the device setup and the Store Message option must be enabled. This creates 2 variables for this method:
Log_Status
: which will contain the status message to logLog_MessageCount
: which will be the count of messages currently stored for the /command/log
method.A task can be programmed with the following start condition:
`Log_MessageCount>0`
This task would execute the following cues:
While( OSC.Log_MessageCount > 0 )
OSC Get Message("/command/log")
... process the content of the OSC.Log_Status variable
End While
[Enum] Current status of the device.
[Enum] Current error.
Dynamic variables are the variables created for each parameter of methods defined in the setup dialog. The names of these variables are formatted as alias_parameter
. Example: HighPass_Frequency
.
There are also dynamic variables created for each method which has the Store Messages option enabled. The names of these variables are formatted as alias_MessageCount
. Example: HighPass_MessageCount
. MessageCount variables are incremented each time a message is received ia OSC for the specified method and is decremented each time a Get Message command is executed by the Medialon project for this method.