Skip to main content

Meyer Sound Documentation

GALAXY Server
In this section:
meyer-blue-rule-line.png

This section describes how to interact with the GALAXY server for ASCII and OSC protocols. Most commands involve managing snapshots and communicating with control points. A snapshot contains all GALAXY settings.

All GALAXY parameters can be addressed as control points in OSC or ASCII formats. You can set and query control points. To set a single control point, you need just one Address.

Note

The examples in this section are ASCII commands.

For example, the following commands show how to query the mute status of input 1 and the response returned that it is unmuted:

query: /processing/input/1/mute

response: /processing/input/1/mute='false'

Regular expressions
meyer-blue-rule-line.png

Regular expressions are an efficient way to quickly configure and query a GALAXY system. For example, to set multiple control points, use a regular expression to denote the range or number of addresses.

The table below shows the most commonly used regular expressions and their functions.

Regular Expression

Function

.

Regular expressions match any single character value

*

Regular expression wildcard

\d

Regular expression integer wildcard

\d+

Regular expression integer greedy wildcard

Regular expression examples
meyer-blue-rule-line.png

For example, to mute all single digit inputs, use the following command:

/processing/input/\d/mute=’true’

To confirm that these inputs are muted, use the following query:

/processing/input/\d/mute

The following information is returned showing that inputs 1–8 are muted:

/processing/input/1/mute='true'

/processing/input/2/mute='true'

/processing/input/3/mute='true'

/processing/input/4/mute='true'

/processing/input/5/mute='true'

/processing/input/6/mute='true'

/processing/input/7/mute='true'

/processing/input/8/mute='true'

You can use a regular expression to return all commands of a certain type, for example, a control point.

To return the value for all control points whose path starts with /project/snapshot/7/:

/project/snapshot/7/.*

The following responses return all the possible control point/value pairs starting with /project/snapshot/7:

/project/snapshot/7/comment='hello'

/project/snapshot/7/created='2017-09-10 22:09:00'

/project/snapshot/7/last_updated='2017-09-10 22:09:00'

/project/snapshot/7/locked='false'

/project/snapshot/7/modified='false'

/project/snapshot/7/name='7'

Tip

See Regular expression commands for more examples.

Using the GALAXY server for OSC
meyer-blue-rule-line.png

OSC is often used as an alternative to the 1983 MIDI standard, when higher resolution and a richer musical parameter space is desired. OSC messages are commonly transported over Ethernet protocols. It gives users more flexibility and facility in addressing and interacting with remote machines.

OSC features an open-ended symbolic naming scheme, high resolution argument data, high resolution time tags, and more. It can pack messages into bundles whose effects must occur simultaneously.

OSC should work out of the box on most small-scale routers and network infrastructures. For large or administered networks, proper settings and bandwidth allocation is necessary.

Note

The GALAXY processor has two independent operating modes: normal mode for loudspeaker management using Compass Control Software or the Compass Go App and Spacemap mode for spatial mixing using the Spacemap Go app. When running virtual GALAXY processors, the port numbering scheme behaves differently depending on the operating mode.

The GALAXY server is always listening to port 25004 for OSC messages, unless you are addressing a virtual GALAXY, which in normal mode starts at port 50504. Decrement the port address by 100 for each additional virtual GALAXY (e.g., second virtual GALAXY has port address of 50404, third has 50304, etc.).

image1.jpeg

Virtual GALAXY port device numbering normal mode (ASCII ports shown)

In Spacemap mode, the virtual GALAXY server address begins at port 25004 for OSC messages. Increment the port address by 100 for each additional virtual GALAXY in Spacemap mode (e.g., second virtual GALAXY in Spacemap mode has port address of 25104, third has 25204, etc.).

Table 1. Port Address Examples

Device

Type

Mode(s)

Device Number(s)

Address

Physical GALAXY

OSC

Normal, Spacemap

1, 2, 3...

25004, 25104, 25204...

Physical GALAXY

ASCII

Normal, Spacemap

1, 2, 3...

25003, 25103, 25203...

Virtual GALAXY

OSC

Normal

1, 2, 3...

50504, 50404, 50304...

Virtual GALAXY

ASCII

Normal

1, 2, 3...

50503, 50403, 50303...

Virtual GALAXY

OSC

Spacemap

1, 2, 3...

25004, 25104, 25204...

Virtual GALAXY

ASCII

Spacemap

1, 2, 3...

25003, 25103, 25203...



image2.jpeg

Virtual GALAXY port devicenumbering Spacemap mode (ASCII ports shown)

Note

Check the Log tab in Compass to determine the port address of any given GALAXY device.

When the OSC message asks for a response, the GALAXY server will reply within the established connection to the client’s address for TCP, and to the port of emission for UDP.

Subscriptions for TCP clients remain active until they are countermanded by an unsubscribe command, or until the client’s TCP connection is broken.

A UDP subscription remains active until it is countermanded by an unsubscribe command, or the server does not receive any UDP packets from the client for at least 30 seconds. To keep a UDP subscription active in the absence of GALAXY activity, use the keepalive tactic by sending an empty ping OSC message to the server.

OSC message syntax
meyer-blue-rule-line.png

An OSC message consists of an address, type tag string, and OSC argument(s). A type tag contains at least one character, a comma (,), followed by a sequence of characters corresponding to the sequence of OSC arguments in the OSC message.

OSC messages are sometimes compacted into bundles to conserve bandwidth. GALAXY accepts bundles or individual messages.

OSC arguments
meyer-blue-rule-line.png

OSC arguments may be any of the following types:

i

32-bit integer

f

32-bit floating point

s

OSC string

F

Boolean false

T

Boolean true

h

64-bit integer

Note

Because some clients do not adhere to the OSC protocol governing argument types, GALAXY is programmed to type cast from integer to Boolean. For example, Boolean True is any positive non-zero integer.

Using the GALAXY server for ASCII
meyer-blue-rule-line.png

The GALAXY ASCII server is always listening on port 25003. When the message asks for a response, GALAXY will reply within the established connection to the client’s address.

Subscriptions for TCP clients remain active until they are revoked by an unsubscribe command, or until the client’s TCP connection is broken.

ASCII text messages are sent to port 25003 unless you address a virtual GALAXY procesor in normal mode, starting at port 50503. Decrement the port address by 100 for each virtual GALAXY processor in normal mode. Increment the port address by 100 for each virtual GALAXY processor in Spacemap mode.

All ASCII built-in functions are preceded by “:” as shown below:

:recall_snapshot 3

Note

All ASCII text commands must end with the newline character, which consists of a carriage return (CR) or line feed (LF): 0d or 0a