grandMA3 User Manual Publication
OSC (Open Sound Control)

grandMA3 User Manual » Remote In and Out » OSC (Open Sound Control)
Version 2.0

OSC is a client and server system that defines a message address pattern used to address elements in the receiving server.

The grandMA3 software supports OSC 1.1. For more information about how to format OSC packets, see https://ccrma.stanford.edu/groups/osc/spec-1_0.html.

Open Sound Control, or OSC, is a networking protocol used to allow devices of various types to control other devices of other types. OSC messages are human-readable (unlike, for example, MIDI Show Control, or MSC), and follow this general pattern:

"(/prefix)/[OSC Address],[OSC Type],[Value]"

prefix - this is optional, depending on your system setup. It can be used in a more complex OSC network to differentiate messages meant for one set of devices (e.g. lighting consoles) and not others (e.g. sound consoles).

OSC Address - this is the target you are controlling on the receiving device(s), for example /Fader201 would be the address to move the fader for executor 201 in grandMA3. Sometimes the address will be more complex, for example /Page1/Fader201 would be the address to move the fader for executor 201 on page 1 in grandMA3.

OSC Type - this is the type of value you're sending, for example:

i = integer

f = float

s = string

t = true

f = false

Value - this is the value you are actually sending for the target.

An example OSC command to set the fader for executor 201 to 100 might be:

  • "/Page1/Fader201,i,100"
  • or with a prefix to specify only, e.g. grandMA3 devices: "/gma3/Page1/Fader201,i,100"

For more information about the OSC address, OSC type, and OSC structure, see SendOSC keyword.

  • To adjust the settings of OSC, tap OSC in the In & Out window.
    The OSC settings window opens.
    OSC settings window
Hint:
Please note that in the example above, no prefix is defined.
 
  • Make sure to establish a network connection. For more information, see Enabling or Disabling the Network Connection.
  • Make sure to enable Enable Output/ Enable Input.  This can also be controlled through the Station Control tab in the Network preferences, see Station Control for more information.
  • Make sure that the IP address, the network protocol (UDP, TCP), and the port are set correctly.
  • Make sure to set the corresponding properties, especially the Send and Receive properties. 
Hint:
Please note that the port configuration is used for sending and receiving OSC data.

When receiving OSC messages, Input will highlight its title bar in yellow. When sending OSC messages, the title bar of Output will be highlighted.

Each configuration line for OSC can be used for input and/or output.

These properties can be configured:

  • Name: Sets the name for this configuration.
  • Destination IP: Sets the IP address for sending OSC data. A specific IP address or a broadcast IP can be set.
  • Mode: OSC packets can be sent via UDP or TCP.
  • Port: Specifies the network port of the incoming and/or outgoing OSC packets.
  • Prefix: A prefix can be set by the user if he needs to. A prefix can be used for example as a criterion for limiting the range of possible receivers, e.g. /lighting would only take packets with /lighting into account, and discard OSC packets with the /sound-prefix.
  • Page: Specifies which OSC Address of incoming OSC messages is routed to pages.
  • Fader: Specifies which OSC Address of incoming OSC messages is routed to faders.
  • ExecutorKnob: Specifies which OSC Address of incoming OSC messages is routed to the mini encoders.
  • Key: Specifies which OSC Address of incoming OSC messages is routed to keys.
  • FaderRange: Specifies which OSC value range is used for the fader, e.g. FaderRange 255 sets OSC 0-255 to 100%.
  • Receive: Specifies if OSC data (but no commands) shall be received.
  • Send: Specifies if this OSC configuration sends OSC data (but no commands).
  • Receive Command: Specifies if commands for the command line will be received via OSC. This setting is independent of the general receive setting.
  • Send Command: Specifies if commands of the command line will be sent via OSC. This setting is independent of the general send setting.
  • EchoInput: Specifies if the input data shall be displayed in the system monitor.
  • EchoOutput: Specifies if the output data shall be displayed in the system monitor.

With the buttons ReceiveAllReceiveNoneSendAllSendNoneReceive CommandAllReceive CommandNone,Send CommandAll, and Send CommandNone all OSC configuration lines can be modified together for the properties Receive, Send, Receive Command and Send Command.

Hint:
The addresses defined for Page, Prefix, Fader, ExecutorKnob, and Key are case-sensitive. 
 In addition to the example OSC strings mentioned above, the entirety of the grandMA3 command line can be accessed via OSC, using the "/cmd" OSC Address and the string 's' OSC Type. Note - this requires "Receive Command" to be set to Yes. For example:
  • "/cmd,s,FaderMaster Page 1.201 At 100"
    • Bring fader 201 on page 1 to 100% (same as the examples above but using gMA3 command line syntax instead)
  • "/cmd,s,Fixture 1 At 75"
    • Use gMA3 command line syntax to execute the command "Fixture 1 At 75" in the command line
  • "/cmd,s,Go+ Exec 402"
    • Trigger whatever is assigned to exec 402
  • "/cmd,s,Patch Fixture 1 3.42"
    • Patch fixture 1 to address 42 in universe 3
Hint:
For more information about regularly used programs to trigger grandMA3, see Examples for Using OSC.

Sub topics