Viz Mosart Administrator Guide
Version 5.1 | Published January 19, 2023 ©
Jupiter Systems PixelNet Video Wall Control
This section covers the following topics:
Introduction
The protocol is text based commands and responses sent on TCP/IP. Text encoding is UTF-8. The protocol is synchronous - i.e. a command (request) shall always result in a response, and a new command shall not be sent until the response to the previous command has been received.
Configuration
AVAutomation
The router protocol is named JUPITERPIXELNET. Configuring the PixelNet video wall interface requires the following parameters:
-
IP address of the PixelNet Domain Controller
-
Port number (default is set to 30326)
Template Editor
In the template editor, enable Video Wall. In Device Properties, enter wall and layout (in double quotes) in that order, space separated, in both ‘RECALL PREVIE’ and EMEMNR:
Implementation may be based on the WATCHOUT protocol implementation.
Configuration File
The PixelNet configuration file is located in the program-folder under \Mosart Medialab\Mosart Server\ConfigurationFiles\VideoWallJupiterPixelNet.xml. To use it, copy it to c:\channeltemplates, and append
;Config=VideoWallJupiterPixelNet.xml
to the connection string.
The following configurations are available:
Setting |
Description |
Default |
PingInterval |
The amount of time (in ms) to wait before ping after connect, ping or RecallAndMix |
10000 (10s) |
Port |
The port number of the PDC computer |
30326 |
ReconnectInterval |
The amount of time (in ms) to wait before reconnect after unsuccessful connect or lost connection |
10000 (10s) |
Server |
The DNS name of the PDC computer |
None |
TimeoutActivateWall |
The timeout (in ms) for the ActivateWall request |
2000 (2s) |
TimeoutLoadLayout |
The timeout (in ms) for the LoadLayout request |
2000 (2s) |
TimeoutLoadLayoutEx |
The timeout (in ms) for the LoadLayoutEx request |
2000 (2s) |
TimeoutLoadLayoutOnWall |
The timeout (in ms) for the LoadLayoutOnWall request |
2000 (2s) |
TimeoutQuerySystemStatus |
The timeout (in ms) for the QuerySystemStatus request |
2000 (2s) |
UseActivateWall |
Whether (True/False) an ActivateWall request is sent before the LoadLayoutOnWall request. Has no effect unless UseLoadLayout is False. |
False |
UseDispatcherForRecallAndMixes |
Whether (True/False) the RecallAndMix requests are executed in the dispatcher, i.e. in the same Thread as (re-)connects and pings. |
False |
UseLoadLayout |
Whether (True/False) LoadLayout requests are sent instead of LoadLayoutEx requests |
False |
UseLoadLayoutOnWall |
Whether (True/False) LoadLayoutOnWall requests are sent instead of LoadLayoutEx requests |
False |
WallIsFirstArgument |
Whether (True/False) the Wall argument of the LoadLayoutOnWall request is the first Argument |
False |
WallIsInt |
Whether (True/False) the Wall argument of the LoadLayoutOnWall request is an integer |
False |
Implementation
Connection
-
PixelNet uses the PixelNet Domain Control (PDC) protocol. PDC protocol is developed on top of the Remote Method Call (RMC) inter-process communication protocol, implemented over a TCP/IP connection.
-
The Watchout video wall driver may serve as a model for this driver.
-
The protocol can be tested over a Telnet session.
-
Port number to connect to is 30326.
Requests to Implement
Five requests are implemented:
-
ActivateWall (used only if UseLoadLayout is True, or if both UseActivateWall and UseLoadLayoutOnWall are True)
-
LoadLayout (used only if UseLoadLayout is True)
-
LoadLayoutEx (used if both UseLoadLayout and UseLoadLayoutOnWall are False)
-
LoadLayoutOnWall (used only if UseLoadLayout is False, and UseLoadLayoutOnWall is True)
-
QuerySystemStatus (used for (internal) Ping)
Note: Although LoadLayoutOnWall will likely not work, it was included since version 1.5 indicated that this was the request that should be utilized.
To Use LoadLayoutEx
Leave all Use… settings at their default False.
To Use ActivateWall and LoadLayout
Set UseLoadLayout = True.
To Use LoadLayoutOnWall
Set
-
UseLoadLayout = False
-
UseLoadLayoutOnWall = True
-
WallIsFirstArgument = True
-
WallIsInt = True.
Note: LoadLayoutOnWall may not work.
To Use ActivateWall with LoadLayoutOnWall
-
UseActivateWall = True.
Note: ActivateWall with LoadLayoutOnWall may not work.
AVAutomation Implementation
The following methods declared in MMVideoWall must be implemented:
Public MustOverride Function Connect(ByVal strConnection As String) As String Implements IConnect.Connect
Public MustOverride Function Disconnect() As String Implements IConnect.Disconnect
Public MustOverride Function Ping() As String Implements IConnect.Ping
Public MustOverride Sub RecallAndMix(ByVal presetName As String, ByVal transrate As Integer)
Note: The final method in the list above, RecallAndMix, calls LoadLayoutOnWall.