Files
Administrator 14893e62a5 feat: Geutebruck GeViScope/GeViSoft Action Mapping System - MVP
This MVP release provides a complete full-stack solution for managing action mappings
in Geutebruck's GeViScope and GeViSoft video surveillance systems.

## Features

### Flutter Web Application (Port 8081)
- Modern, responsive UI for managing action mappings
- Action picker dialog with full parameter configuration
- Support for both GSC (GeViScope) and G-Core server actions
- Consistent UI for input and output actions with edit/delete capabilities
- Real-time action mapping creation, editing, and deletion
- Server categorization (GSC: prefix for GeViScope, G-Core: prefix for G-Core servers)

### FastAPI REST Backend (Port 8000)
- RESTful API for action mapping CRUD operations
- Action template service with comprehensive action catalog (247 actions)
- Server management (G-Core and GeViScope servers)
- Configuration tree reading and writing
- JWT authentication with role-based access control
- PostgreSQL database integration

### C# SDK Bridge (gRPC, Port 50051)
- Native integration with GeViSoft SDK (GeViProcAPINET_4_0.dll)
- Action mapping creation with correct binary format
- Support for GSC and G-Core action types
- Proper Camera parameter inclusion in action strings (fixes CrossSwitch bug)
- Action ID lookup table with server-specific action IDs
- Configuration reading/writing via SetupClient

## Bug Fixes
- **CrossSwitch Bug**: GSC and G-Core actions now correctly display camera/PTZ head parameters in GeViSet
- Action strings now include Camera parameter: `@ PanLeft (Comment: "", Camera: 101028)`
- Proper filter flags and VideoInput=0 for action mappings
- Correct action ID assignment (4198 for GSC, 9294 for G-Core PanLeft)

## Technical Stack
- **Frontend**: Flutter Web, Dart, Dio HTTP client
- **Backend**: Python FastAPI, PostgreSQL, Redis
- **SDK Bridge**: C# .NET 8.0, gRPC, GeViSoft SDK
- **Authentication**: JWT tokens
- **Configuration**: GeViSoft .set files (binary format)

## Credentials
- GeViSoft/GeViScope: username=sysadmin, password=masterkey
- Default admin: username=admin, password=admin123

## Deployment
All services run on localhost:
- Flutter Web: http://localhost:8081
- FastAPI: http://localhost:8000
- SDK Bridge gRPC: localhost:50051
- GeViServer: localhost (default port)

Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 18:10:54 +01:00

1040 lines
70 KiB
HTML

<!DOCTYPE html>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" lang="en" xml:lang="en" data-mc-search-type="Stem" data-mc-help-system-file-name="index.xml" data-mc-path-to-help-system="../../" data-mc-target-type="WebHelp2" data-mc-runtime-file-type="Topic" data-mc-preload-images="false" data-mc-in-preview-mode="false" data-mc-toc-path="GeViScope SDK|Action documentation">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Viewer actions</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<link href="../../Skins/Default/Stylesheets/TextEffects.css" rel="stylesheet" />
<link href="../../Skins/Default/Stylesheets/Topic.css" rel="stylesheet" />
<link href="../Resources/Stylesheets/Styles.css" rel="stylesheet" />
<script src="../../Resources/Scripts/jquery.min.js">
</script>
<script src="../../Resources/Scripts/plugins.min.js">
</script>
<script src="../../Resources/Scripts/require.min.js">
</script>
<script src="../../Resources/Scripts/require.config.js">
</script>
<script src="../../Resources/Scripts/MadCapAll.js">
</script>
</head>
<body>
<div class="MCBreadcrumbsBox_0"><span class="MCBreadcrumbsPrefix">| </span><a class="MCBreadcrumbsLink" href="../Titel.htm">GeViScope SDK</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="../300_Action documentation.htm">Action documentation</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Viewer actions</span>
</div>
<h1>Viewer actions</h1>
<p>Viewer actions allow remote controlling GSCView. To enable remote controlling GSCView the "Remote control" setting in GscProfileManager and a global unique viewer client number has to be configured.</p>
<h2><a name="VC"></a>VC alarm queue confirm</h2>
<p>Action name:VCAlarmQueueConfirm(Viewer, SelectionMode)</p>
<p>Action category: command</p>
<p>The alarm queue of the GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>A current alarm is confirmed. The parameter "selection mode" defines which alarm in the queue will be confirmed.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">selection mode</td>
<td class="BodyE-Column1-Body2">SelectionMode</td>
<td class="BodyD-Column1-Body2">first = first active alarm in queue
<br />next = next active alarm in queue (from current position) <br />previous = previous alarm in queue (from current position) <br />last = last active alarm in queue
</td>
</tr>
</table>
<h2>VC alarm queue confirm by instance</h2>
<p>Action name:VCAlarmQueueConfirmByInstance(Viewer, AlarmID)</p>
<p>Action category: command</p>
<p>The alarm queue of GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>A current alarm is confirmed. It is identified by its alarm instance ID (event instance ID). A unique instance ID is assigned to each alarm /recording event at creation time by the GeViScope server.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">instance ID</td>
<td class="BodyE-Column1-Body2">AlarmID</td>
<td class="BodyD-Column1-Body2">The alarm instance ID (event instance ID)</td>
</tr>
</table>
<h2>VC alarm queue confirm by type</h2>
<p>Action name:VCAlarmQueueConfirmByType(Viewer, TypeID, SelectionMode)</p>
<p>Action category: command</p>
<p>The alarm queue of GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>A current alarm is confirmed. It is identified by its alarm type (event type) which means the name of the alarm (event) in the GeViScope Setup event list and also by the parameter "selection mode". The parameter "selection mode" defines which alarm in the queue will be selected.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">event type</td>
<td class="BodyE-Column1-Body2">TypeID</td>
<td class="BodyD-Column1-Body2">The alarm type (event type)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">selection mode</td>
<td class="BodyE-Column1-Body1">SelectionMode</td>
<td class="BodyD-Column1-Body1">first = first active alarm in queue
<br />next = next active alarm in queue (from current position) <br />previous = previous alarm in queue (from current position) <br />last = last active alarm in queue </td>
</tr>
</table>
<h2>VC alarm queue remove</h2>
<p>Action name:VCAlarmQueueRemove(Viewer, SelectionMode)</p>
<p>Action category: command</p>
<p>The alarm queue of the GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>An alarm is removed from the queue. The parameter "selection mode" defines which alarm in the queue will be removed.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">selection mode</td>
<td class="BodyE-Column1-Body2">SelectionMode</td>
<td class="BodyD-Column1-Body2">first = first active alarm in queue
<br />next = next active alarm in queue (from current position) <br />previous = previous alarm in queue (from current position) <br />last = last active alarm in queue </td>
</tr>
</table>
<h2>VC alarm queue remove by instance</h2>
<p>Action name:VCAlarmQueueRemoveByInstance(Viewer, AlarmID)</p>
<p>Action category: command</p>
<p>The alarm queue of the GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>An alarm is removed from the queue. It is identified by its alarm instance ID (event instance ID). A unique instance ID is assigned to each alarm/event recording.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">instance ID</td>
<td class="BodyE-Column1-Body2">AlarmID</td>
<td class="BodyD-Column1-Body2">The alarm instance ID (event instance ID)</td>
</tr>
</table>
<h2>VC alarm queue remove by type</h2>
<p>Action name:VCAlarmQueueRemoveByType(Viewer, TypeID, SelectionMode)</p>
<p>Action category: command</p>
<p>The alarm queue of the GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>An alarm is removed from the queue. It is identified by its alarm type (event type) which means the name of the alarm (event) in the GeViScope Setup event list. The parameter "selection mode" defines which alarm will be removed.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">event type</td>
<td class="BodyE-Column1-Body2">TypeID</td>
<td class="BodyD-Column1-Body2">The alarm type (event type)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">selection mode</td>
<td class="BodyE-Column1-Body1">SelectionMode</td>
<td class="BodyD-Column1-Body1">first = first active alarm in queue
<br />next = next active alarm in queue (from current position) <br />previous = previous alarm in queue (from current position) <br />last = last active alarm in queue </td>
</tr>
</table>
<h2>VC alarm queue select</h2>
<p>Action name:VCAlarmQueueSelect(Viewer, SelectionMode)</p>
<p>Action category: command</p>
<p>The alarm queue of the GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>An alarm of the queue is presented. The parameter "selection mode" defines which alarm in the queue will be presented.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">selection mode</td>
<td class="BodyE-Column1-Body2">SelectionMode</td>
<td class="BodyD-Column1-Body2">first = first active alarm in queue
<br />next = next active alarm in queue (from current position) <br />previous = previous alarm in queue (from current position) <br />last = last active alarm in queue </td>
</tr>
</table>
<h2>VC alarm queue select by instance</h2>
<p>Action name:VCAlarmQueueSelectByInstance(Viewer, AlarmID)</p>
<p>Action category: command</p>
<p>The alarm queue of the GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>An alarm of the queue is presented. It is identified by its alarm instance ID (event instance ID). A unique instance ID is assigned to each alarm/event recording.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">instance ID</td>
<td class="BodyE-Column1-Body2">AlarmID</td>
<td class="BodyD-Column1-Body2">The alarm instance ID (event instance ID)</td>
</tr>
</table>
<h2>VC alarm queue select by type</h2>
<p>Action name:VCAlarmQueueSelectByType(Viewer, TypeID, SelectionMode)</p>
<p>Action category: command</p>
<p>The alarm queue of the GSCView with the given viewer client number can be remote controlled.</p>
<p>&#160;</p>
<p>An alarm of the queue is presented. It is identified by its alarm type (event type) which means the name of the alarm (event) in the GeViScope Setup event list and also by the parameter "selection mode". The parameter "selection mode" defines which alarm in the queue will be selected.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">event type</td>
<td class="BodyE-Column1-Body2">TypeID</td>
<td class="BodyD-Column1-Body2">The alarm type (event type)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">selection mode</td>
<td class="BodyE-Column1-Body1">SelectionMode</td>
<td class="BodyD-Column1-Body1">first = first active alarm in queue
<br />next = next active alarm in queue (from current position) <br />previous = previous alarm in queue (from current position) <br />last = last active alarm in queue </td>
</tr>
</table>
<h2><a name="VC2"></a>VC change scene by name</h2>
<p>Action name:VCChangeSceneByName(Viewer, Scene)</p>
<p>Action category: command</p>
<p>The action displays a scene in the GSCView with the given viewer client number.</p>
<p>The scene is identified by its name which is case insensitive. (e.g. "MyScene" equal "myscene")</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">scene</td>
<td class="BodyE-Column1-Body2">Scene</td>
<td class="BodyD-Column1-Body2">The name of the scene that should be displayed</td>
</tr>
</table>
<h2><a name="VC3"></a>VC clear scene by name</h2>
<p>Action name:VCClearSceneByName(Viewer, Scene)</p>
<p>Action category: command</p>
<p>The action clears a scene in the GSCView with the given viewer client number.</p>
<p>The scene is identified by its name which is case insensitive. If the scene is currently not active it will be displayed after the action is executed. (e.g. "MyScene" equal "myscene")</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">scene</td>
<td class="BodyE-Column1-Body2">Scene</td>
<td class="BodyD-Column1-Body2">The name of the scene that should be cleared</td>
</tr>
</table>
<h2><a name="VC4"></a>VC full mode</h2>
<p>Action name:VCFullMode(Viewer, FullMode, SensitiveAreaEnabled)</p>
<p>Action category: command</p>
<p>The GscView with the given viewer client number can be switched into full mode display or normal mode display. </p>
<p>In full mode display GscView offers the possibility to fade in controls like the tool bar or the side bar if the user moves the mouse cursor in the near of the window borders. This behavior can be controlled by the Parameter "Sensitive area enabled".</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GscView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">full mode</td>
<td class="BodyE-Column1-Body2">FullMode</td>
<td class="BodyD-Column1-Body2">yes = switch to full mode display<br />no = switch to normal mode display</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">sensitive area enabled</td>
<td class="BodyE-Column1-Body1">SensitiveAreaEnabled</td>
<td class="BodyD-Column1-Body1">yes = moving mouse cursor in the near of the window borders causes controls to fade in<br />no = no controls fade in</td>
</tr>
</table>
<h2><a name="VC5"></a>VC set audio level</h2>
<p>Action name:VCSetAudioLevel(Viewer, AudioLevel)</p>
<p>Action category: command</p>
<p>The volume of the audio output of the GSCView with the given viewer client number can be controlled.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">audio level</td>
<td class="BodyE-Column1-Body2">AudioLevel</td>
<td class="BodyD-Column1-Body2">0 = audio output off <br />100 = audio output in maximum volume
</td>
</tr>
</table>
<h2><a name="VC6"></a>VC show viewer text</h2>
<p>Action name:VCShowViewerText(Viewer, ShowText)</p>
<p>Action category: command</p>
<p>The text fade-in of all viewers of the GSCView with the given viewer client number can be switched on and off.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">show text</td>
<td class="BodyE-Column1-Body2">ShowText</td>
<td class="BodyD-Column1-Body2">yes = switch text fade-in on
<br />no = switch text fade-in off
</td>
</tr>
</table>
<h2><a name="VC7"></a>VC stretch mode</h2>
<p>Action name:VCStretchMode(Viewer, StretchMode)</p>
<p>Action category: command</p>
<p>The GSCView with the given viewer client number can be switched into stretched mode display or normal mode display.</p>
<p>&#160;</p>
<p>In the stretched view, the viewers are stretched to the available size in the GSCView main window. In the normal mode display the viewers are sized in 4:3 ratio.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">stretch mode</td>
<td class="BodyE-Column1-Body2">StretchMode</td>
<td class="BodyD-Column1-Body2">yes = switch to stretched mode display
<br />no = switch to normal mode display
</td>
</tr>
</table>
<h2><a name="Viewer"></a>Viewer change scene</h2>
<p>Action name:ViewerChangeScene(Viewer)</p>
<p>Action category: command</p>
<p>The action displays the scene where the viewer with the global number on any GSCView in the network belongs to.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
</table>
<h2>Viewer clear</h2>
<p>Action name:ViewerClear(Viewer)</p>
<p>Action category: command</p>
<p>The action clears the active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
</table>
<h2>Viewer clear scene</h2>
<p>Action name:ViewerClearScene(Viewer)</p>
<p>Action category: command</p>
<p>The action clears the scene where the active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network belongs to.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
</table>
<h2>Viewer clear text output</h2>
<p>Action name:ViewerClearTextOutput(Viewer)</p>
<p>Action category: command</p>
<p>The action doesn't display a text in the active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network anymore.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
or
Global number of a viewer on any GSCView in the network</td>
</tr>
</table>
<h2>Viewer connect</h2>
<p>Action name:ViewerConnect(Viewer, Channel, PlayMode)</p>
<p>Action category: command</p>
<p>Display pictures of a video channel on the active viewer of the GscView with the given viewer client number or on the viewer with the global number on some GscView in the network. </p>
<p>The parameter "play mode" defines in which mode the pictures are presented (live, forward, backward).</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GscView that should be remote controlled<br />or<br />Global number of a viewer on some GscView in the network</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2">Channel</td>
<td class="BodyD-Column1-Body2">Global number of the media channel</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">play stop = if the viewer is already displaying pictures from that channel, it is stopped; if not the newest picture in the database is displayed<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the actual position; if not display of pictures with normal speed starts at the beginning of the database<br />play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database<br />fast forward = like "play forward" but with high speed<br />fast backward = like "play backward" but with high speed<br />step forward = like "play forward" but only one picture<br />step backward = like "play backward" but only one picture<br />play BOD = display the first (the oldest) picture in the database<br />play EOD = display the last (the newest) picture in the database<br />live = display live pictures<br />next event = like "play forward" but only pictures that belong to event recordings<br />prev event = like "play backward" but only pictures that belong to event recordings<br />peek live picture = display only one actual live picture<br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected<br />prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected</td>
</tr>
</table>
<h2>Viewer connect live</h2>
<p>Action name:ViewerConnectLive(Viewer, Channel)</p>
<p>Action category: command</p>
<p>This action displays live pictures of a video channel on the active viewer of the GSCView with the given viewer client number or on the viewer with the global number on any GSCView in the network.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2">Channel</td>
<td class="BodyD-Column1-Body2">Global number of the media channel</td>
</tr>
</table>
<h2>Viewer export picture</h2>
<p>Action name:ViewerExportPicture(Viewer, FilePath)</p>
<p>Action category: command</p>
<p>The action exports the current picture of the active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network.</p>
<p>&#160;</p>
<p>The actual picture is exported as a windows bitmap graphic file in the GSCView directory or in the path (local or UNC) defined via the parameter "file path".</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">file path</td>
<td class="BodyE-Column1-Body2">FilePath</td>
<td class="BodyD-Column1-Body2">Path (local or UNC) where the picture should be exported to</td>
</tr>
</table>
<h2>Viewer jump by time</h2>
<p>Action name:ViewerJumpByTime(Viewer, Channel, PlayMode, TimeInSec)</p>
<p>Action category: command</p>
<p>The action displays pictures of a video channel on the active viewer of the GSCView with the given viewer client number or on the viewer with the global number on any GSCView in the network.</p>
<p>&#160;</p>
<p>The parameter "play mode" defines in which mode the pictures are presented (live, forward, backward .).</p>
<p>&#160;</p>
<p>The parameter "time in sec" defines the time span that the start of the replay should be moved from the actual timestamp.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2">Channel</td>
<td class="BodyD-Column1-Body2">Global number of the media channel</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">play stop = if the viewer is already displaying pictures from that channel, it is stopped? if not the newest picture in the database is displayed
<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the current position; if not display of pictures with normal speed starts at the beginning of the database
play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database
<br />fast forward = like "play forward" high speed <br />fast backward = like "play backward" high speed <br />step forward = like "play forward" picture by picture <br />step backward = like "play backward" picture by picture <br />play BOD = display the first (the oldest) picture in the database
<br />play EOD = display the last (the newest) picture in the database <br />live = display live pictures <br />next event = jump to the next event recording <br />prev event = jump to the previous event recording
<br />peek live picture = displays only one current live picture <br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
<br /> prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time in sec</td>
<td class="BodyE-Column1-Body2">TimeInSec</td>
<td class="BodyD-Column1-Body2">Time span that the start of the replay should be moved from the actual timestamp</td>
</tr>
</table>
<h2>Viewer maximize</h2>
<p>Action name:ViewerMaximize(Viewer, Maximize)</p>
<p>Action category: command</p>
<p>The active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network which should be remote controlled.</p>
<p>&#160;</p>
<p>The parameter "maximize" defines whether the viewer should be displayed in maximized mode or not.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">maximize</td>
<td class="BodyE-Column1-Body2">Maximize</td>
<td class="BodyD-Column1-Body2">yes = display the viewer in maximized mode <br />no = display the viewer in normal mode </td>
</tr>
</table>
<h2>Viewer play from time</h2>
<p>Action name:ViewerPlayFromTime(Viewer, Channel, PlayMode, Time)</p>
<p>Action category: command</p>
<p>Display pictures of a video channel on the active viewer of the GscView with the given viewer client number or on the viewer with the global number on some GscView in the network. </p>
<p>The parameter "play mode" defines in which mode the pictures are presented (live, forward, backward, .).</p>
<p>The parameter "time" defines the timestamp where the replay of the recorded video should start.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GscView that should be remote controlled<br />or<br />Global number of a viewer on some GscView in the network</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2">Channel</td>
<td class="BodyD-Column1-Body2">Global number of the media channel</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">play stop = if the viewer is already displaying pictures from that channel, it is stopped? if not the newest picture in the database is displayed
<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the current position; if not display of pictures with normal speed starts at the beginning of the database
play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database
<br />fast forward = like "play forward" high speed <br />fast backward = like "play backward" high speed <br />step forward = like "play forward" picture by picture <br />step backward = like "play backward" picture by picture <br />play BOD = display the first (the oldest) picture in the database
<br />play EOD = display the last (the newest) picture in the database <br />live = display live pictures <br />next event = jump to the next event recording <br />prev event = jump to the previous event recording
<br />peek live picture = displays only one current live picture <br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
<br /> prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time</td>
<td class="BodyE-Column1-Body2">Time</td>
<td class="BodyD-Column1-Body2">Timestamp where the replay of the recorded video should start. The parameter should be defined in the following format:<br />"2009/02/13 07:22:00,594 GMT+01:00"</td>
</tr>
</table>
<h2>Viewer print picture</h2>
<p>Action name:ViewerPrintPicture(Viewer)</p>
<p>Action category: command</p>
<p>The action prints out the current picture of the active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network.</p>
<p>&#160;</p>
<p>The print out is done on the default printer of the PC on which GSCView is running.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
or
Global number of a viewer on any GSCView in the network
</td>
</tr>
</table>
<h2>Viewer select</h2>
<p>Action name:ViewerSelect(Viewer)</p>
<p>Action category: command</p>
<p>The action declares the viewer with the global number on any GSCView in the network to the active viewer of the corresponding GSCView.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global number of a viewer on any GSCView in the network</td>
</tr>
</table>
<h2>Viewer set play mode</h2>
<p>Action name:ViewerSetPlayMode(Viewer, PlayMode, PlaySpeed)</p>
<p>Action category: command</p>
<p>The action sets the "play mode" of the active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">play mode</td>
<td class="BodyE-Column1-Body2">PlayMode</td>
<td class="BodyD-Column1-Body2">play stop = if the viewer is already displaying pictures from that channel, it is stopped? if not the newest picture in the database is displayed
<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the current position; if not display of pictures with normal speed starts at the beginning of the database
play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database
<br />fast forward = like "play forward" high speed <br />fast backward = like "play backward" high speed <br />step forward = like "play forward" picture by picture <br />step backward = like "play backward" picture by picture <br />play BOD = display the first (the oldest) picture in the database
<br />play EOD = display the last (the newest) picture in the database <br />live = display live pictures <br />next event = jump to the next event recording <br />prev event = jump to the previous event recording
<br />peek live picture = displays only one current live picture <br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
<br /> prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play speed</td>
<td class="BodyE-Column1-Body1">PlaySpeed</td>
<td class="BodyD-Column1-Body1">Speed rate for fast forward/backward (2.)</td>
</tr>
</table>
<h2>Viewer show alarm by instance</h2>
<p>Action name:ViewerShowAlarmByInstance(Viewer, AlarmID, PlayMode)</p>
<p>Action category: command</p>
<p>The action displays pictures of an alarm on the GSCView with the given viewer client number in the network.</p>
<p>&#160;</p>
<p>The alarm is identified by its alarm instance ID (event instance ID). Every alarm (event) is assigned a unique instance ID at creation time by the GeViScope server.</p>
<p>&#160;</p>
<p>The parameter "play mode" defines in which mode the pictures are presented (live replay, replay event pictures, .).</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">instance ID</td>
<td class="BodyE-Column1-Body2">AlarmID</td>
<td class="BodyD-Column1-Body2">The alarm instance ID (event instance ID)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">Show alarm using default settings = display alarm pictures using the default settings defined in the GeViScope setup
<br />Live replay = display live pictures of the cameras belonging to the alarm configuration
<br />replay event pictures = replay the pictures belonging to the alarm (only once)
<br />continuous event replay = replay the pictures belonging to the alarm <br />continuously in a loop
<br /> show first alarm picture only = only display the first picture belonging to the alarm
</td>
</tr>
</table>
<h2>Viewer show alarm by key</h2>
<p>Action name:ViewerShowAlarmByKey(Viewer, ForeignKey, PlayMode)</p>
<p>Action category: command</p>
<p>The action displays pictures of an alarm on the GSCView with the given viewer client number in the network.</p>
<p>&#160;</p>
<p>The alarm is identified by its "foreign key". The "foreign key" was assigned explicit to the alarm as the alarm was started.</p>
<p>&#160;</p>
<p>The parameter "play mode" defines in which mode the pictures are presented (live replay, replay event pictures .).</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">foreign key</td>
<td class="BodyE-Column1-Body2">ForeignKey</td>
<td class="BodyD-Column1-Body2">The foreign key that was assigned to the alarm as the alarm was started</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">play stop = if the viewer is already displaying pictures from that channel, it is stopped? if not the newest picture in the database is displayed
<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the current position; if not display of pictures with normal speed starts at the beginning of the database
play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database
<br />fast forward = like "play forward" high speed <br />fast backward = like "play backward" high speed <br />step forward = like "play forward" picture by picture <br />step backward = like "play backward" picture by picture <br />play BOD = display the first (the oldest) picture in the database
<br />play EOD = display the last (the newest) picture in the database <br />live = display live pictures <br />next event = jump to the next event recording <br />prev event = jump to the previous event recording
<br />peek live picture = displays only one current live picture <br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
<br /> prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
</td>
</tr>
</table>
<h2>Viewer show alarm by type</h2>
<p>Action name:ViewerShowAlarmByType(Viewer, TypeID, ForeignKey, PlayMode)</p>
<p>Action category: command</p>
<p>The action displays pictures of an alarm on the GSCView with the given viewer client number in the network.</p>
<p>&#160;</p>
<p>The alarm is identified by its alarm type and optional by its foreign key. The alarm type (event name) is defined in the GeViScope setup. The foreign key was assigned explicit to the alarm as the alarm was started. It is optional. If it is not set, the last alarm with the defined alarm type is displayed.</p>
<p>&#160;</p>
<p>The parameter "play mode" defines in which mode the pictures are presented (live replay, replay event pictures .).</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">alarm type</td>
<td class="BodyE-Column1-Body2">TypeID</td>
<td class="BodyD-Column1-Body2">Type (event name) of the alarm, defined in the GeViScope setup</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">foreign key</td>
<td class="BodyE-Column1-Body1">ForeignKey</td>
<td class="BodyD-Column1-Body1">The foreign key that was assigned to the alarm as the alarm was started</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">play mode</td>
<td class="BodyE-Column1-Body2">PlayMode</td>
<td class="BodyD-Column1-Body2">play stop = if the viewer is already displaying pictures from that channel, it is stopped? if not the newest picture in the database is displayed
<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the current position; if not display of pictures with normal speed starts at the beginning of the database
play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database
<br />fast forward = like "play forward" high speed <br />fast backward = like "play backward" high speed <br />step forward = like "play forward" picture by picture <br />step backward = like "play backward" picture by picture <br />play BOD = display the first (the oldest) picture in the database
<br />play EOD = display the last (the newest) picture in the database <br />live = display live pictures <br />next event = jump to the next event recording <br />prev event = jump to the previous event recording
<br />peek live picture = displays only one current live picture <br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
<br /> prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GSCView the whole picture size is used for it) are displayed; the display stops after motion is detected
</td>
</tr>
</table>
<h2>Viewer change sync audio/video</h2>
<p>Action name:ViewerSyncAudioAndVideo(Viewer, EnableSync)</p>
<p>Action category: command</p>
<p>The active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network should be remote controlled.</p>
<p>&#160;</p>
<p>The parameter "enable sync" defines whether audio and video should be synchronized or not.</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">enable sync</td>
<td class="BodyE-Column1-Body2">EnableSync</td>
<td class="BodyD-Column1-Body2">yes = synchronize audio and video
<br />no = don't synchronize audio and video </td>
</tr>
</table>
<h2>Viewer text output</h2>
<p>Action name:ViewerTextOutput(Viewer, Text)</p>
<p>Action category: command</p>
<p>The action displays a text in the active viewer of the GSCView with the given viewer client number or the viewer with the global number on any GSCView in the network.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that should be remote controlled
<br />or <br />Global number of a viewer on any GSCView in the network </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">text string</td>
<td class="BodyE-Column1-Body2">Text</td>
<td class="BodyD-Column1-Body2">Text that should be displayed in the picture</td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>