The messages handled by the application or by a scene can be forwarded to arbitrary remote hosts. A filtering mecanism can be used to have a fine control of forwarded messages.
Remote hosts list
Remote hosts lists can be set using the forward message at scene or application level. Hosts lists of the application and of each scene are independent. At scene level, only messages handle by the scene are forwarded (ie message for the scene itself or for one of his children object). The forward message itself can't be forwarded. A message from a host cannot be forwarded to him to avoid direct loop.
- 1) removes the set of forwarded destinations,
- 2) set a list of remote hosts for forwarding. Note that hostname can be any legal host name or IP number, optionally extended with a port number separated by a semi-colon. By default, when no port number is specified, the default application listening port number is used (7000).
Example Forwarding messages handle by application to host1.adomain.org using the default application listening port number (7000) and to host2.adomain.org on port number 5100.
/ITL forward host1.adomain.org host2.adomain.org:5100;
Forwarding messages handle by the scene scene1 to host3.adomain.org using the default application listening port number (7000) and to host4.adomain.org on port number 5100.
/ITL/scene1 forward host1.adomain.org host2.adomain.org:5100;
The messages forwarded to arbitrary remote hosts using the forward message can be filtered to send only wanted messages. The static filter node is use manage the filter. A static filter node is created for each scene and one at application level. The filter can be construct with OSC address and messages.
- 1) Remplace the actual accepted list by the new list or by an empty list. Item in accepted list are not filtered by the reject item list.
- 2) Remplace the actual accepted list by the new list or by an empty list. Item in reject list are filtered if they not match the accept list.
When a new message is incoming, if they match to an accepted item, filter is not apply. \ Example Filter at application level :
/ITL/filter reject /ITL/scene/line* /ITL/scene/rect; /ITL/filter accept /ITL/scene/line2 scale arrows;
Message with OSC message with address starting with /ITL/scene/line or with address /ITL/scene/rect are filtered only if message address is not /ITL/scene/line2 or if the content is not scale or arrows.
Filter at scene level :
/ITL/scene1/filter reject fontWeight /ITL/scene1/rect;
The fontWeight message and message for /ITL/scene1/rect are rejected.