ITrackerPlugin Class Reference

Brief. More...

Inheritance diagram for ITrackerPlugin:
Contexted TrackerPluginChannelCheck TrackerPluginCountStimulations

Detailed Description

Brief.

Author
J. T. Lindgren

Tracker Plugins are processing plugins specific to the OpenViBE Tracker. The idea is to allow plugins to access the whole track content (StreamBundle) with a simple interface and minimal overhead.

In detail, the difference between Tracker Plugins and Box Plugins is as follows. A box plugin wraps openvibe box code, and subsequently the code will have to deal with the classical openvibe objects such as encoders, decoders, and so on. The Tracker Plugin, on the other hand, gives the programmer access to the StreamBundle structure. This allows the plugin code to request and manipulate the streams and their chunks freely. A tracker plugin can also add or remove streams to the bundle.

Tracker plugins do not currently have explicit parameters, but you can pass parameters in using configuration tokens, and then request/set them via m_KernelContext.getConfigurationManager() interface.

Note that the StreamBundle given as input to a Tracker Plugin is in not safeguarded against "bad" modifications by the plugin.

Todo:

tracker and box plugins might be refactorable to be under same interface.

allow non-inplace mode operation

derive different subclasses for the 'capabilities' instead of one monolithic interface?