Introduction to Video Wall integration
From MIPSDK 2017 R2 a set of features in relation to the XProtect Smart Wall product is supported.
The key features are:
- Ability to control what the Smart Wall is displaying, in regards to:
- Layout of a monitor
- Content of each position
- Activation of Smart Wall presets
- Ability to listen on any changes done to the Smart Wall from rule system or an operator:
- Configuration changes to Smart Walls, Monitors, and Smart Wall presets
- Layout changes to specific Monitors
- Content of each position
These features have been implemented on:
- Configuration API
- To allow partners to setup, configure and control the XProtect Smart Wall
- The messages used to control a wall are all located in this namespace:
- To use MIP items for getting current configuration
- To listen for changes via MessageCommunication
- To issue commands to change Smart Wall content by sending MIP messages
The messages used to control a wall are all located in this namespace:
VideoOS.Platform.Messaging.MessageId.Control
The messages all start with “VideoWall”.
The messages are sent using the existing SendMessage and PostMessage methods on the EnvironmentManager.
To be notified about changes to the walls, use the message communication classes to listen for the message with id VideoWallIndication.
The received indications have information of what item has changed, and what the type of change was (add, update, delete).
New Kinds have been defined to identify:
- Kind.VideoWall - Identifying a Video Wall
- Kind.VideoWallMonitor - Identifying a monitor on a Video Wall
- Kind.VideoWallPreset - Identifying a monitor preset on the Video Wall
- Kind.Layout - Identifying a layout in the system, to be used for applying to a VideoWallMonitor
To dive into the details, please review the new sample: VideoWallController Sample to trigger a VideoWall preset, this line can be used:
EnvironmentManager.Instance.SendMessage(
new VideoOS.Platform.Messaging.Message(MessageId.Control.VideoWallPresetActivateCommand),
_videoWallPresetItem.FQID);