The minimal device config when using the default options would be:
settings.yml
devices:
- type: osc
name: osc1
options:
ip: 10.0.0.9
port: 5000
In this example the OSC server is listening on port 5000 for messages, and no clients are configured.
A complete config would look like this:
settings.yml
devices:
- type: osc
name: osc1
options:
ip: 10.0.0.9
port: 5000
allow_all_clients: true
clients:
- name: client1
ip: 10.0.0.1
port: 8000
- name: client2
ip: 10.0.0.2
port: 9000
where
type
is always “osc” as this is the name of this plugin.
name
unique arbitrary name.
options/ip
the ip address of the interface where the OSC server should listen on. (default: 0.0.0.0 - any)
options/port
the tcp port that the OSC server is listening on. (default: 5000)
options/allow_all_clients
allows any client to send commands to this server. (default: false)
options/clients
the list of clients that will receive updates send from the server, and are allowed to send data to
the server (when options.allow_all_clients is set to false, or omitted).
In this example the osc server is listening on port 5000 for messages, and 2 clients are configured that will receive
the same data.
The options.clients list contains all the client devices that should receive OSC updates. The name is arbitrary and
solely for documentation purposes, it can be omitted if so desired.
By default, the OSC server (on port 5000 in the example above) will only allow received messages from known / listed
clients.
This behaviour can be changed by setting options.allow_all_clients to true (default is false).
Note however that this is only for incoming messages, an unlisted client will never receive updates from the server.
to: { name: osc-server, address: /osc/bool/1, type: bool }
The from.type is ignored as it is set by the type of the received message, but it must be specified nonetheless.
The to.type however determines what OSC type is send out.