Special features: Box messaging basics

  • NB: Document up to date for OpenViBE >= 0.18.0.

Introduction

Messages are an OpenViBE feature that allows boxes to communicate during scenario playback. Unlike streams, messages are sent and processed immediately during the same scheduler time step.

Messaging has been designed to allow easier implementation of adaptive BCI components within OpenViBE. Using messages, boxes can communicate data to each other complementary to what is transmitted by streams. This data can be used by the receiving box to change its behavior (internal parameters, displays, …).

This tutorial explains making message connections in Designer. For developers wishing to make new boxes that have messaging capabilities, please see the box messaging for developers page.

Messaging example

An easy way to understand the user side of messaging is to go through a simple scenario illustrating this feature. Please open box-tutorials/messaging.xml in the Designer. You should see a view resembling the following.

A scenario illustrating message sending and receiving A scenario illustrating message sending and receiving

Message connections are visually similar to the usual OpenViBE streams, except that they are on the sides of the boxes : on the left sides for message inputs (receiving box) and on the right side for message outputs (sending box).


Messaging connection

Properties of message connections

The behavior of messaging links is similar to those of streams :

  • If the author of the box made the option available, you can add and remove message inputs/outputs from a box
  • If the author made the option available, you can configure each socket. Message connection has no specific type, so you can only change the name of the socket.
  • The connections work the same way as with streams : you can connect multiple inputs to one output, but one input socket can only receive one connection.

You can not connect a message socket to an EBML stream socket.

To know which boxes can be meaningfully connected with a messaging connection, please refer to the documentation of the box that uses the messaging feature. Note that if you make an unsuitable connection, there is no guarantee that the receiving box will be able to interpret the message. Instead, undefined behavior may occur.

For debugging or monitoring purposes, you might need to see the contents of a message. In this case, please use the Message Spy box available under the tools/ category in Designer.

This entry was posted in Designer documentation, Documentation, User documentation. Bookmark the permalink.